Objeto ser empurrado após receber um golpe de tal posição

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Objeto ser empurrado após receber um golpe de tal posição

Mensagem por James Bonder em Dom 14 Set 2008, 17:05

Estou tentando fazer com que quando o inimigo seja acertado de um lado
ele seja empurrado para esse lado(com uma velocidade vertical e horizontal)
e que ele pare quando chegar ao chão.

Porém já tentei várias vezes com o sistema de hspeed e não consegui o que queria.

Alguém sabe como posso fazer isso? scratch

James Bonder

Número de Mensagens : 8
Idade : 22
Data de inscrição : 07/09/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Objeto ser empurrado após receber um golpe de tal posição

Mensagem por PedroX em Dom 14 Set 2008, 17:15

poe o evento de colisao
e depois
ex:
if collision...
..vspeed=5
.....hspeed=5
...else
..vspeed=0
..hspeed=0

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Objeto ser empurrado após receber um golpe de tal posição

Mensagem por KinKing em Seg 15 Set 2008, 12:00

Apesar de que com o código acima, o seu personagem, na colisão, vai para baixo e direita. Esse else eu não entendi, já que não tem um if começando o evento da colisão, que é pelo evento mesmo e não pelo código.

Mas enfim. Teste para ver se a posição other é maior que x. se for, use hspeed/vspeed para a esquerda. else, para a direita.

KinKing

Número de Mensagens : 416
Data de inscrição : 29/05/2008
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://felipejoys.webnode.com

Voltar ao Topo Ir em baixo

Re: Objeto ser empurrado após receber um golpe de tal posição

Mensagem por James Bonder em Qua 17 Set 2008, 15:48

poe o evento de colisao
e depois
ex:
if collision...
..vspeed=5
.....hspeed=5
...else
..vspeed=0
..hspeed=0
O problema é que embora eu use o hspeed, ele não para mais.

James Bonder

Número de Mensagens : 8
Idade : 22
Data de inscrição : 07/09/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Objeto ser empurrado após receber um golpe de tal posição

Mensagem por James Bonder em Qua 17 Set 2008, 15:50

James Bonder escreveu:
poe o evento de colisao
e depois
ex:
if collision...
..vspeed=5
.....hspeed=5
...else
..vspeed=0
..hspeed=0
O problema é que embora eu use o hspeed, ele não para mais o movimento.

James Bonder

Número de Mensagens : 8
Idade : 22
Data de inscrição : 07/09/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Objeto ser empurrado após receber um golpe de tal posição

Mensagem por Convidad em Ter 23 Set 2008, 11:50

Eu faria um código baseado em vspeed, hspeed e friction. O problema de ele não estar parando é justamente o fato de não haver uma condição que o pare.

Tente usar a friction também para fazê-lo parar, mas como não sei o que fez no código, talvez prejudique os movimentos normais do personagem...

Coloque no evento create do personagem:

Código:
friction:=.5;

Repita o procedimento e poste se não funcionar...

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: Objeto ser empurrado após receber um golpe de tal posição

Mensagem por pedrosorio em Ter 23 Set 2008, 14:57

Porque é que ainda ninguém sugeriu uma forma de fazer com que o objecto vá na direcção em que é empurrado (aquilo que o autor do tópico está perguntando)?

No evento de colisão desse objecto você usa o código:
Código:

dir=atan2(y-other.y,x-other.x);
hspeed=lengthdir_x(velocidade,dir);
vspeed=lengthdir_y(velocidade,dir);

Em que velocidade é a velocidade com que o seu objecto irá na direcção em que foi empurrado. Caso você queira que ele seja empurrado quando está em movimento talvez seja melhor usar hspeed+=... e vspeed+=... que irá adicionar à velocidade já existente.

pedrosorio

Número de Mensagens : 50
Idade : 28
Data de inscrição : 15/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://pedrosorio.nfshost.com

Voltar ao Topo Ir em baixo

Re: Objeto ser empurrado após receber um golpe de tal posição

Mensagem por RKNF1995 em Ter 23 Set 2008, 17:15

uma vez eu ja tentei fazer isso so que eu naum sabia usar codigos entao crieium path pra baixo ai a bala ao acertar o obj ele executa o path que vai pra baixo e quando o obj bate no obj cha o path para

RKNF1995

Número de Mensagens : 1257
Idade : 21
Data de inscrição : 19/07/2008
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.rknf1995.blogspot.com

Voltar ao Topo Ir em baixo

Re: Objeto ser empurrado após receber um golpe de tal posição

Mensagem por Kevin em Ter 18 Nov 2008, 16:29

dir=atan2(y-other.y,x-other.x);
hspeed=lengthdir_x(velocidade,dir);
vspeed=lengthdir_y(velocidade,dir);

cara só uma pergunta! oq é esse atan2 da 1ª linha?

tentei por no meu jogo de luta (Smash Capcom) só que deu erro neste atan2! Creio eu que possa ser um variável de room, pois faz um tempo que mexo no game maker e nunca vi este código!!!!

Agradecido se receber resposta Smile

Kevin

Ranking : Nota C
Número de Mensagens : 1166
Idade : 22
Data de inscrição : 14/11/2008
Notas recebidas : C - C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://www.programaCODM.webs.com/

Voltar ao Topo Ir em baixo

Re: Objeto ser empurrado após receber um golpe de tal posição

Mensagem por Kevin em Ter 18 Nov 2008, 17:14

eu consegui fazer isso com friction:=.5!

só que ta dando errado!!! meu personagem e o inimigo diminuiu a gravidade deles!
aew coloquei no time line:

time line: time line golpe
tempo: 0
efeitos: execução de time line golpe e friction = .5

e

time line: time line golpe reverse
tempo: 0
efeitos: execução de time line golpe reverse e friction = 0

isso deu certo! quando eu bato no inimigo ele dá um pulinho para trás! e quando colide
no chão ele "para", mas ele não para realmente ele continua andando pouco mas andando!

oq deu de errado?

efeitos de gravidade que eu coloquei:

Creat: Gravidade

direção: 270
froça: 0.5

End Step: Check Empty

X: 0
Y: 1
objects: Only Solid
(selecionado) Relative

Gravidade

Direção: 270
força: 0.5

ELSE

Gravidade

Direção: 270
Força: 0


ajude-me porfavor!!!!
o fraction que fez dar errado isso!!!
se ficou complicado d+ nem precisa ver isso que eu fiz manual no gm!Razz

aGRADECIDO

Kevin

Ranking : Nota C
Número de Mensagens : 1166
Idade : 22
Data de inscrição : 14/11/2008
Notas recebidas : C - C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://www.programaCODM.webs.com/

Voltar ao Topo Ir em baixo

Re: Objeto ser empurrado após receber um golpe de tal posição

Mensagem por Janx em Ter 18 Nov 2008, 19:06

tente mudar, em vez de setar o friction para 0.5 setar para um valor menor tipo
0.05

assim a diferença é poca, mas ele para tbm..

e nao fassa posts duplos ok?

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Objeto ser empurrado após receber um golpe de tal posição

Mensagem por Conteúdo patrocinado Hoje à(s) 18:05


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum