Conectar-se
Quem está conectado
29 usuários online :: 3 usuários cadastrados, Nenhum Invisível e 26 Visitantes

rafaelviodres1, Tedi Ripper, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota B
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Número de Mensagens : 764
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 2
Ver perfil do usuário

Ajuda com logica de inventario

em Qui 31 Jan 2013, 23:59
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:


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 ?
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 16/01/2012
Número de Mensagens : 970
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 2
Ver perfil do usuáriohttp://trfnsite.com

Re: Ajuda com logica de inventario

em Sex 01 Fev 2013, 00:07
não seria melhor fazer tudo em um unico objeto não ?
Use algumas arrays e o draw , é bem melhor.
avatar
Ranking : Nota B
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Número de Mensagens : 764
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 2
Ver perfil do usuário

Re: Ajuda com logica de inventario

em Sex 01 Fev 2013, 00:09
Mas se eu fizer isso, como farei para mover objetos dentro do inventario ?
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 16/01/2012
Número de Mensagens : 970
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 2
Ver perfil do usuáriohttp://trfnsite.com

Re: Ajuda com logica de inventario

em Sex 01 Fev 2013, 00:24
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;
}}}
avatar
Ranking : Nota B
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Número de Mensagens : 764
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 2
Ver perfil do usuário

Re: Ajuda com logica de inventario

em Sex 01 Fev 2013, 00:26
Faz sentido... assim que vc comentou aquilo eu fiquei pensando nun negocio assim. Acho q assim fica mais facil. Topico resolvido entao !
avatar
Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1

Prêmios
   : 2
   : 2
   : 1
Ver perfil do usuáriohttp://guitarmester.no.comunidades.net/index.php?pagina=19362978

Re: Ajuda com logica de inventario

em Sex 01 Fev 2013, 12:08
e cria varios objetos
invetario desativa ele grava as posiçoes dos obj slot e destroi todos.
você tambem pode fazer ao invés de destruí-los e recriá-lo, apenas desativá-los e ativa-los.
fia mais fácil para fazer diversas ações, em relação a idéia do TRFN, mas você perderá um pouco em velocidade .
avatar
Ranking : Nota B
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Número de Mensagens : 764
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 2
Ver perfil do usuário

Re: Ajuda com logica de inventario

em Sex 01 Fev 2013, 12:18
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.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum