Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Ajuda com logica de inventario
3 participantes
Página 1 de 1
Ajuda com logica de inventario
Pessoal, eu tenho um projeto aqui que estou trabalhando só por aprendizado msm, tentando fazer coisas que nunca pensei em fazer, esta indo bem, mas nao cheguei a um ponto de partida descente para o inventario. Mas deixe me começar pele começo da engine
O jogo é uma "replica" de minecraft, terraria, etc... entao existem um obj para cada bloco, cada um guarda suas 3 vars que sao elas:
A ultima é para a parte de quebrar blocos, quando o bloco é quebrado (todo bloco) ele deixa o obj_drop , que assume a sprite do bloco que foi destruido.
Mas para bolar o inventario eu fiquei pensando um pouco e cheguei numa logica meio falha...
Ela funciona assim , eu tenho o obj_inv, ela vai ter a opcao de ligar e desligar, quando ele liga ele mostra sua sprite (o fundo do inventario) e cria varios objetos , cada um corresponde a um slot,cada vez que vc clica e arraste um slot ele troca de lugar com o outro,entao quando o invetario desativa ele grava as posiçoes dos obj slot e destroi todos. Os slots seram todos os mesmo objetos, baseados nas informacoes Nome e Sprite, atribuidas as blocos. Quando vc colide com o obj drop ele verifica o menor slot vazio ou com a mesma informacao de nome que ele (menor em questa de instance_number) e grava essa informacoes nele (no caso se ja existir ele apenas atribui mais 1 no valor de numero de objetos), se houver slot para ele entrar ele se destroi, do contrario ele permanece lá. Essa logica é valida ou eu to pirando aqui ?
O jogo é uma "replica" de minecraft, terraria, etc... entao existem um obj para cada bloco, cada um guarda suas 3 vars que sao elas:
Nome
Sprite
Durabilidade
A ultima é para a parte de quebrar blocos, quando o bloco é quebrado (todo bloco) ele deixa o obj_drop , que assume a sprite do bloco que foi destruido.
Mas para bolar o inventario eu fiquei pensando um pouco e cheguei numa logica meio falha...
Ela funciona assim , eu tenho o obj_inv, ela vai ter a opcao de ligar e desligar, quando ele liga ele mostra sua sprite (o fundo do inventario) e cria varios objetos , cada um corresponde a um slot,cada vez que vc clica e arraste um slot ele troca de lugar com o outro,entao quando o invetario desativa ele grava as posiçoes dos obj slot e destroi todos. Os slots seram todos os mesmo objetos, baseados nas informacoes Nome e Sprite, atribuidas as blocos. Quando vc colide com o obj drop ele verifica o menor slot vazio ou com a mesma informacao de nome que ele (menor em questa de instance_number) e grava essa informacoes nele (no caso se ja existir ele apenas atribui mais 1 no valor de numero de objetos), se houver slot para ele entrar ele se destroi, do contrario ele permanece lá. Essa logica é valida ou eu to pirando aqui ?
Lukbebalduke- Games Ranking :
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Reputação : 30
Número de Mensagens : 765
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 2
x 1 x 0 x 0
Re: Ajuda com logica de inventario
não seria melhor fazer tudo em um unico objeto não ?
Use algumas arrays e o draw , é bem melhor.
Use algumas arrays e o draw , é bem melhor.
Re: Ajuda com logica de inventario
Mas se eu fizer isso, como farei para mover objetos dentro do inventario ?
Lukbebalduke- Games Ranking :
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Reputação : 30
Número de Mensagens : 765
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 2
x 1 x 0 x 0
Re: Ajuda com logica de inventario
o princípio e esse :
- Código:
i_id = 0;
i_nome[i_id] = "Nome qualquer.";
i_pos_x[i_id] = 0;
i_pos_y[i_id] = 0;
i_img[i_id] = sprite_exemplo;
i_id = 1;
i_nome[i_id] = "Nome qualquer 2.";
i_pos_x[i_id] = 32;
i_pos_y[i_id] = 0;
i_img[i_id] = sprite_exemplo2;
for(INICIO; CONDIÇÃO; SAÍDA){
MOSTRA_TEXTO(i_nome[S]);
MOSTRA_SPRITE(i_img[S]);
SE(MOUSE_CLICAR){
MOVENDO;
MOVA_EM_GRADE(32);
i_pos_x[S] = mouse_x;
i_pos_y[S] = mouse_y;
}
SENÃO SE(MOVENDO){
for(INICIO; CONDIÇÃO; SAÍDA)if(i_pos_x[S] == i_pos_x[R] && i_pos_y[S] == i_pos_y[R]){
REGISTRA OS VELHOS VALORES;
TROCA OS VALORES E AS IMAGENS DE LUGAR;
ACABA;
}}}
Re: Ajuda com logica de inventario
Faz sentido... assim que vc comentou aquilo eu fiquei pensando nun negocio assim. Acho q assim fica mais facil. Topico resolvido entao !
Lukbebalduke- Games Ranking :
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Reputação : 30
Número de Mensagens : 765
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 2
x 1 x 0 x 0
Re: Ajuda com logica de inventario
e cria varios objetos
você tambem pode fazer ao invés de destruí-los e recriá-lo, apenas desativá-los e ativa-los.invetario desativa ele grava as posiçoes dos obj slot e destroi todos.
fia mais fácil para fazer diversas ações, em relação a idéia do TRFN, mas você perderá um pouco em velocidade .
Re: Ajuda com logica de inventario
Valeu theguitar, mas agora eu ja terminei ele (como eu acho que dei a entender no ultimo topico), e nao precisei usar os objetos, apenas codigos e um objeto (como o exemplo doTRFN), msm assim valeu pela ajuda.
Lukbebalduke- Games Ranking :
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Reputação : 30
Número de Mensagens : 765
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 2
x 1 x 0 x 0
Tópicos semelhantes
» [Resolvido][Ajuda] Utilização de Lógica na Ds_list
» Ajuda com Inventário.
» [Ajuda] Inventário
» Ajuda com inventário!!!!!!!!
» Alguem me ajuda num sistema de inventario
» Ajuda com Inventário.
» [Ajuda] Inventário
» Ajuda com inventário!!!!!!!!
» Alguem me ajuda num sistema de inventario
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos