Entrar
Últimos assuntos
» Problemas com a caixa de diálogo, ela é pequena e as letras não cabem dentropor Rukasu777 Ontem à(s) 18:10
» Problemas com particulas
por RastaMaan Dom 12 maio 2024, 17:03
» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08
» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43
» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
Problema com a batalha
3 participantes
Página 1 de 1
Problema com a batalha
Estou criando um jogo em que o estilo de batalha e parecido com o do pokemon, mas hoje deparei me com um erro! Quando o ataque colidia com o inimigo, o inimigo perdia a vida toda de uma vez, em vez de perder apenas 17, alguem me ajuda?
patoki- Data de inscrição : 19/12/2008
Reputação : 0
Número de Mensagens : 175
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problema com a batalha
olá patoki
O que pode estar acontecendo é o seguinte:
Um jogo roda a aproximadamente 30 quadros por segundo, cada ação gerada pelo jogo representa um quadro.
Vamos imaginar a seguinte situação:
Você possui 10 vidas.
Se uma bolinha encostar na outra, perderá uma vida, ok?
( ) ----> <----( )
Agora, imagine que uma bolinha esteja indo de encontro a outra, quando colidirem, você perderá uma.
( )( ) – colisão
Porém, no próximo quadro... elas continuam em colisão!!!
( () ) menos uma vida
E no próximo
( ( ) ) menos outra vida
E no próximo
(( )) e outra...
Até elas passarem uma pela outra...
<----( ) ( )----->
Até aqui, deve ter ido embora umas 30 vidas!! Mesmo que houve apenas uma colisão.
Existem três soluções para isso:
1 – um dos objetos devem ser apagados assim que encontar no outro, assim, encostou, morreu, sumiu só uma vida.
2- algumas vezes, não podemos destruir o objeto pois o precisamos para que complete a animação. Podemos então trocar os objetos...
Ex.: a bolinha 1 bate no quadrado, a bolinha 1 se transforma em uma segundo bolinha, com a mesma imagem, porém, objeto diferente.
E a forma mais developer (e correta):
3- criar uma variável para a bolinha (ou o poder) no create, crie uma variável chamada, por exemplo, de “usado” e atribua o valor 0
No Pokémon, no evento de colisão com o poder, coloque o seguinte:
- se usado = 0 então -17 de sangue (IF usado=0 then sangue-=17) --- o sinal “-=” representa que será subtraído 17 pelo que já existe
- coloque para o objeto “other” (que no caso, o “other” do Pokémon, seria o poder, certo?) usado=1
-usado=1
O que ele faz:
Quando o poder encostar no pokemon e se a variavel usado for igual a 0, tirará o sangue e marcará como usado =1!!
Espero ter ajudado.
O que pode estar acontecendo é o seguinte:
Um jogo roda a aproximadamente 30 quadros por segundo, cada ação gerada pelo jogo representa um quadro.
Vamos imaginar a seguinte situação:
Você possui 10 vidas.
Se uma bolinha encostar na outra, perderá uma vida, ok?
( ) ----> <----( )
Agora, imagine que uma bolinha esteja indo de encontro a outra, quando colidirem, você perderá uma.
( )( ) – colisão
Porém, no próximo quadro... elas continuam em colisão!!!
( () ) menos uma vida
E no próximo
( ( ) ) menos outra vida
E no próximo
(( )) e outra...
Até elas passarem uma pela outra...
<----( ) ( )----->
Até aqui, deve ter ido embora umas 30 vidas!! Mesmo que houve apenas uma colisão.
Existem três soluções para isso:
1 – um dos objetos devem ser apagados assim que encontar no outro, assim, encostou, morreu, sumiu só uma vida.
2- algumas vezes, não podemos destruir o objeto pois o precisamos para que complete a animação. Podemos então trocar os objetos...
Ex.: a bolinha 1 bate no quadrado, a bolinha 1 se transforma em uma segundo bolinha, com a mesma imagem, porém, objeto diferente.
E a forma mais developer (e correta):
3- criar uma variável para a bolinha (ou o poder) no create, crie uma variável chamada, por exemplo, de “usado” e atribua o valor 0
No Pokémon, no evento de colisão com o poder, coloque o seguinte:
- se usado = 0 então -17 de sangue (IF usado=0 then sangue-=17) --- o sinal “-=” representa que será subtraído 17 pelo que já existe
- coloque para o objeto “other” (que no caso, o “other” do Pokémon, seria o poder, certo?) usado=1
-usado=1
O que ele faz:
Quando o poder encostar no pokemon e se a variavel usado for igual a 0, tirará o sangue e marcará como usado =1!!
Espero ter ajudado.
Re: Problema com a batalha
Sim, mas agora como torno a variavel usado de novo para o valor 0?
*O jogo nao e pokemon, o sistema de batalha e que e parecido!
*O jogo nao e pokemon, o sistema de batalha e que e parecido!
patoki- Data de inscrição : 19/12/2008
Reputação : 0
Número de Mensagens : 175
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problema com a batalha
rsrsrs eu percebi que não era o pokemon depois que postei.
a variavel usado é criada junto com o objeto de poder, na ação create, e ela é local.
ou seja, se você tiver 3 poderes, cada um vai ter a sua variavel "usado" independente, isto é, mesmo que um dos objetos dos poderes for usado, somente a sua variável será alterada, e não às dos demais.
Ai depende muito de como funciona o seu game, eu normalmente programo de forma que exista somente um único objeto no jogo, o restante é programado no evento draw...
a variavel usado é criada junto com o objeto de poder, na ação create, e ela é local.
ou seja, se você tiver 3 poderes, cada um vai ter a sua variavel "usado" independente, isto é, mesmo que um dos objetos dos poderes for usado, somente a sua variável será alterada, e não às dos demais.
Ai depende muito de como funciona o seu game, eu normalmente programo de forma que exista somente um único objeto no jogo, o restante é programado no evento draw...
Re: Problema com a batalha
borgo esta correto, esse é o princípio da lógica dos jogos de luta tipo street fighter
Re: Problema com a batalha
Brigado!
patoki- Data de inscrição : 19/12/2008
Reputação : 0
Número de Mensagens : 175
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|