Conectar-se
Quem está conectado
30 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 30 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 17/10/2013
Número de Mensagens : 76
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

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

Colisão com inimigo e movimentação do mesmo

em Ter 17 Dez 2013, 00:32
Boa noite a todos,

Primeiramente sei que existem diversos tópicos sobre isso, mas não achei algum que fosse como eu desejava e os que chegavam perto estavam confusos e eram antigos.. Por isso optei em postar aqui minhas dúvidas..

Estou trabalhando em um projeto de RPG em plataforma, minhas dúvidas são:

1°.: Gostaria de fazer um inimigo andar aleatoriamente para ambas direções (esquerda e direita), e dar paradas aleatórias,

Exemplo:

   Monstro está andando para a direita então ele da três passos e para, ai vira pra esquerda da cinco passos e para e continua para a esquerda..

Gostaria que quando ele chegasse no fim da plataforma ele ou parasse ou virasse para a outra direção, aleatoriamente também.. Isso diferente para cada instância, para não existir padrão tipo, duas instâncias de um mesmo monstro seguindo uma mesma ordem..

2°.: Gostaria que quando meu Player leva-se algum dano, ele fosse arremessado para longe, em um movimento para trás, entre 15 pixels para trás, mas que quando isso ocorresse ele não fosse simplesmente colocado nessa posição, e sim mostrasse ele quadro por quadro sendo tocado para o lado, como se tivesse sido jogado mesmo, e então chegando no ponto final, se houvesse uma parede nesse final ele bateria e voltaria ou bateria e pararia deixando a gravidade coloca-lo no chão.

Aqui um exemplo em vídeo de mais ou menos como seria esse empurrão:
   
Exemplo em vídeo:

Bom pessoal era isso, já estou a alguns dias tentando fazer isso ai, e está complicado, espero que possam ajudar obrigado a todos..
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 147

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Colisão com inimigo e movimentação do mesmo

em Ter 17 Dez 2013, 01:56
pesquise por plataforma ninja, acho que a engine pode te ajudar pelo menos um pouco, flwz!
[edit]
http://gmbr.forumeiros.com/t26899-engineninja-plataforma
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

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

Re: Colisão com inimigo e movimentação do mesmo

em Ter 17 Dez 2013, 09:41
Pra primeira dúvida, scripts, um pra cada coisa.
No alarm, você bota o bicho pra ficar parado e liga outro alarm. Nesse outro alarm, você seleciona aleatoriamente o tempo que o bicho fica andando e pra que lado ele vai.

Pra segunda, máquina de estados finitos. Um estado pra cada ação. Desde que aprendi a usar a máquina, só consigo pensar nela pra esse tipo de coisa.
avatar
Data de inscrição : 17/10/2013
Número de Mensagens : 76
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

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

Re: Colisão com inimigo e movimentação do mesmo

em Ter 17 Dez 2013, 09:53
Saim, eu sou um pouco lerdo com alarms estou trabalhando com eles a pouco tempo hehe
Poderia exemplificar a primeira resposta por favor?

E sobre a segunda, nem sei o que são máquina de estados finitos :/

Isaque Onix vou baixar a engine assim que possível para dar uma olhada..
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 147

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Colisão com inimigo e movimentação do mesmo

em Ter 17 Dez 2013, 22:54
saim escreveu:Desde que aprendi a usar a máquina, só consigo pensar nela pra esse tipo de coisa.
Eu num aprendi até hoje '-'  geek geek

-------------------------------------------------//-------------------------------------------------------------

Bom, eu usaria o seguinte, o monstro teria um create e um step, no create:

Código:
time=0
spd=choose(2,-2)

no step:

Código:
if(time=0){//se o tempo acabou
spd=-spd//muda o speed(reverte a direção)
time=irandom(1000)//coloca o time aleatoriamente em 1000
}else{//se o tempo NÃO acabou
if(place_free(x+lengthdir_x(spd,0),y+lengthdir_y(spd,0)) && !place_free(x+spd,y+32)){//se o espaço a frente e em baixo estiverem abertos
x+=lengthdir_x(spd,0)//\\
//----------------------ELE SE MOVE
y+=lengthdir_y(spd,0)////
}else{//Se não
spd=-spd//muda o speed(reverte a direção)
}
time-=1//diminui o tempo em 1
}

não é grandes coisas, mais é um bom começo, Flwz.

aah, a variavel tempo muda a direção do inimigo quando chega a zero, mais não volta ao valor zero quando chega a beeira de um objeto solido e volta!
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