GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por 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


Problema com a batalha

3 participantes

Ir para baixo

Problema com a batalha Empty Problema com a batalha

Mensagem por patoki Seg 06 Abr 2009, 15:08

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?
avatar
patoki

Data de inscrição : 19/12/2008
Reputação : 0
Número de Mensagens : 175
Prêmios : Problema com a batalha Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problema com a batalha Empty Re: Problema com a batalha

Mensagem por Borgo Seg 06 Abr 2009, 16:01

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.
Borgo
Borgo

Data de inscrição : 06/01/2009
Reputação : 0
Número de Mensagens : 69
Prêmios : Problema com a batalha Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

http://www.neonerds.com.br

Ir para o topo Ir para baixo

Problema com a batalha Empty Re: Problema com a batalha

Mensagem por patoki Seg 06 Abr 2009, 16:29

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!
avatar
patoki

Data de inscrição : 19/12/2008
Reputação : 0
Número de Mensagens : 175
Prêmios : Problema com a batalha Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problema com a batalha Empty Re: Problema com a batalha

Mensagem por Borgo Seg 06 Abr 2009, 16:40

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...
Borgo
Borgo

Data de inscrição : 06/01/2009
Reputação : 0
Número de Mensagens : 69
Prêmios : Problema com a batalha Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

http://www.neonerds.com.br

Ir para o topo Ir para baixo

Problema com a batalha Empty Re: Problema com a batalha

Mensagem por Anderson3d Seg 06 Abr 2009, 18:29

borgo esta correto, esse é o princípio da lógica dos jogos de luta tipo street fighter
Anderson3d
Anderson3d

Games Ranking : Nota A

Notas recebidas : A - A
Data de inscrição : 15/02/2009
Reputação : 9
Número de Mensagens : 1479
Prêmios : Problema com a batalha Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

http://www.indiegamebr.com

Ir para o topo Ir para baixo

Problema com a batalha Empty Re: Problema com a batalha

Mensagem por patoki Ter 07 Abr 2009, 05:52

Brigado!
avatar
patoki

Data de inscrição : 19/12/2008
Reputação : 0
Número de Mensagens : 175
Prêmios : Problema com a batalha Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problema com a batalha Empty Re: Problema com a batalha

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos