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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota C
Notas recebidas : C-D-B-B-B-C-C-C
Data de inscrição : 10/12/2010
Número de Mensagens : 695
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://dopxgames.blogspot.com

[Resolvido]Checar velocidade

em Seg 22 Ago 2011, 19:01
tenho um objeto que é empurrado ao colidir com o player.
Mais como faço para ele ser empurrado na velocidade do player
já tentei isso na colisão do player com esse objeto:
Código:
other.speed=speed
Mais não funciono
PS: Só para complicar o player é movido pelo x e y do mouse
FLWS


Última edição por Lucas 5293 em Ter 23 Ago 2011, 09:50, editado 2 vez(es)
avatar
Ranking : Nota D
Notas recebidas : D+D
Data de inscrição : 05/10/2010
Número de Mensagens : 836
Insígnias de JAM :

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

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

Re: [Resolvido]Checar velocidade

em Seg 22 Ago 2011, 19:34
as vezes o player move mas nao por causa da speed dele, mas sim devido outra coisa que muda o valor x e y dele, talvez seja o caso, ja q vc disse que o que move o player é o mouse.
Posta os codes que fazem o player se mover.
avatar
Ranking : Nota C
Notas recebidas : C-D-B-B-B-C-C-C
Data de inscrição : 10/12/2010
Número de Mensagens : 695
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://dopxgames.blogspot.com

Re: [Resolvido]Checar velocidade

em Seg 22 Ago 2011, 19:41
Mannoroth escreveu:as vezes o player move mas nao por causa da speed dele, mas sim devido outra coisa que muda o valor x e y dele, talvez seja o caso, ja q vc disse que o que move o player é o mouse.
Posta os codes que fazem o player se mover.
Simplesmente:

Código:
x=mouse_x
y=mouse_y
avatar
Ranking : Nota D
Notas recebidas : C+D+D+D
Data de inscrição : 03/03/2011
Número de Mensagens : 252
Insígnias de JAM :

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

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

Re: [Resolvido]Checar velocidade

em Seg 22 Ago 2011, 20:03
Lucas se te ajuda eu tenho uma engine de sokobox
que usa uma movimentção por x e y
olha aqui: http://gmbr.forumeiros.com/t15924-engine-sokobox-utakata?highlight=sokobox
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 19/02/2011
Número de Mensagens : 285
Insígnias de JAM :

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

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

Re: [Resolvido]Checar velocidade

em Seg 22 Ago 2011, 20:39
Usa a Engine do Utaka,vai ver te ajuda 1 pokinho pq tmb é no x,y do mouse
avatar
Ranking : Nota C
Notas recebidas : C-D-B-B-B-C-C-C
Data de inscrição : 10/12/2010
Número de Mensagens : 695
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://dopxgames.blogspot.com

Re: [Resolvido]Checar velocidade

em Ter 23 Ago 2011, 09:34
Cara sua engine não me ajudou em nada;
Eu sei fazer uma movimentação com o mouse
o problema é que eu uso esse código na colisão do disco com o player:
Código:
if other.x>x {hspeed=-5}
if other.x<x {hspeed=5}
if other.y>y {vspeed=-5}
if other.y<y {vspeed=5}
O que eu quero é q a velocidade que ele se movimente seja relativa a do player.
já tentei:
Código:
if other.x>x {hspeed=-other.hspeed}
if other.x<x {hspeed=other.hspeed}
if other.y>y {vspeed=-other.vspeed}
if other.y<y {vspeed=other.vspeed}
mais não funfa!
avatar
Ranking : Nota A
Notas recebidas : B-A-A
Data de inscrição : 13/01/2010
Número de Mensagens : 1087
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 0
Ver perfil do usuáriohttp://www.mathaeuz.deviantart.com

Re: [Resolvido]Checar velocidade

em Ter 23 Ago 2011, 09:47
Quando se move usando mouse_x e mouse_y o objeto não adiquire as variáveis de velocidade (speed) e direção (direction) que você usou. Ele apenas...'teletransporta'.
Ponha no fim do step objeto player:
Código:
dist=point_distance(xprevious,yprevious,x,y);
//calcula a distancia que ele movimentou (logo, a velocidade);
dir=point_direction(xprevious,yprevious,x,y);
//calcula a direção de movimento
Agora, no evento 'colisão com o player' do disco:
Código:
while(place_meeting(x,y,other)){
x-=sign(other.x-x);
y-=sign(other.y-y)};
//Isso vai tirar um de dentro do outro
speed=other.dist;
direction=other.dir;
//iguala a velocidade e a direção às do player
avatar
Ranking : Nota C
Notas recebidas : C-D-B-B-B-C-C-C
Data de inscrição : 10/12/2010
Número de Mensagens : 695
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://dopxgames.blogspot.com

Re: [Resolvido]Checar velocidade

em Ter 23 Ago 2011, 09:48
vlw mathaeuz funciono
avatar
Ranking : Nota A
Notas recebidas : B-A-A
Data de inscrição : 13/01/2010
Número de Mensagens : 1087
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 0
Ver perfil do usuáriohttp://www.mathaeuz.deviantart.com

Re: [Resolvido]Checar velocidade

em Ter 23 Ago 2011, 09:53
Apenas uma observação!!! O código que eu passei pode causar um loop eterno(e travar) se o x e o y do obj_player e o disco forem os mesmos.
Correção no código do disco:
Código:
while(place_meeting(x,y,other)){
x-=sign(other.x-x)+(sign(other.x-x)=0);
y-=sign(other.y-y)+(sign(other.y-y)=0)};
//Isso vai tirar um de dentro do outro
speed=other.dist;
direction=other.dir;
//iguala a velocidade e a direção às do player
Tópico Trancado.
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