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

CRP-Max, Katerp, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 07/09/2008
Número de Mensagens : 8
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

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

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
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6036
Insígnias de JAM :

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

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

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

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
avatar
Data de inscrição : 29/05/2008
Número de Mensagens : 416
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://felipejoys.webnode.com

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

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.
avatar
Data de inscrição : 07/09/2008
Número de Mensagens : 8
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

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

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.
avatar
Data de inscrição : 07/09/2008
Número de Mensagens : 8
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

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

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.
Convidad
Convidado

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

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...
avatar
Data de inscrição : 15/06/2008
Número de Mensagens : 50
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://pedrosorio.nfshost.com

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

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.
avatar
Data de inscrição : 19/07/2008
Número de Mensagens : 1257
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://www.rknf1995.blogspot.com

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

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
avatar
Ranking : Nota C
Notas recebidas : C - C
Data de inscrição : 14/11/2008
Número de Mensagens : 1166
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://www.programaCODM.webs.com/

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

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
avatar
Ranking : Nota C
Notas recebidas : C - C
Data de inscrição : 14/11/2008
Número de Mensagens : 1166
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://www.programaCODM.webs.com/

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

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
avatar
Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

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

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

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

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