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
Data de inscrição : 31/01/2013
Número de Mensagens : 55
Insígnias de JAM :

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

problemas com as sprites

em Sex 15 Mar 2013, 19:44
bem, no meu jogo point and click, se eu clicar na tela, o carro segue.. mas se a rota dele for reta ele fica tremendo adoidado até chegar ao destino, queria saber corrigir isto, segue código de movimento abaixo
Código:
 no create
xgo = -1;
ygo = -1;

no global left button
xgo = mouse_x;
ygo = mouse_y;

direction =point_direction(x,y,mouse_x,mouse_y)
image_angle=direction


-----

queria saber também como dizer para o game maker qual é a frente das sprites, atirar um míssil de lado não é legal, mesmo que eu expecifique que a imagem é pra estar virada para o inimigo (ou player dependendo), acaba saindo uns mísseis apontando para o lado errado
Código:
direction =point_direction(x,y,obj_nave,obj_nave)
image_angle=direction
speed = 50
avatar
Data de inscrição : 15/03/2013
Número de Mensagens : 6
Insígnias de JAM :

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

Re: problemas com as sprites

em Sex 15 Mar 2013, 20:55
Olá matheus, sou novo aqui no fórum mas vamos ver se posso te ajudar Happy
sobre a sua primeira pergunta, infelizmente não entendi muito bem onde pode estar o erro, pode ser que não esteja na parte relacionada ao movimento apenas, e sim em outra parte do código, gerando um conflito. Talvez se você postasse mais partes do código (como o do evento step por exemplo, se ouver) ficasse melhor de enxergar o problema. Mas eu tenho um palpite: experimente trocar
Código:
direction =point_direction(x,y,mouse_x,mouse_y)
por
Código:
direction =point_direction(x,y,xgo,ygo)
sobre a sua segunda duvida, tente desenhar a sprite do missil exatamente na horizontal, e definir a origem x, y da sprite de forma que fique alinhada ao míssil.
avatar
Data de inscrição : 31/01/2013
Número de Mensagens : 55
Insígnias de JAM :

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

Re: problemas com as sprites

em Sab 16 Mar 2013, 09:51
esqueci o step '-'
Código:
if (xgo != -1)
{
  if (x < xgo) x += 3 else x -= 3;
  if (y < ygo) y += 3 else y -= 3;
  if (distance_to_point(xgo, ygo) < 4)
  {
      xgo = -1;
      ygo = -1;
  }
}


já o míssil ele está na horizontal ai eu acredito que os problemas sejam os códigos de "olhar para o player", com o carro nem tenho ideia do que esteja acontecendo '-'
avatar
Data de inscrição : 15/03/2013
Número de Mensagens : 6
Insígnias de JAM :

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

Re: problemas com as sprites

em Dom 17 Mar 2013, 23:10
agora sim eu vi o problema!
O que está acontecendo: como x (ou y) é sempre acrescido o diminuido em 3, o resultado pode nunca "bater" com o resultado de xgo (ou ygo), assim, o objeto pode passar em 1 ou 2 pixels do xgo (ou ygo) e aí ele vai somar ou subtrair dinovo, fazendo o carro "tremer".

como resolver: seria bom se você fizesse o carro comparar a cada step se o x do carro (por exemplo) é igual ao xgo. Se não for, vai um pixel.
uma boa forma de fazer isso seria usar o while, ficando mais ou menos assim:
Código:
/*
se x < xgo
velocidade = 3
enquanto (velocidade > 0)
se x < xgo
x+=1; velocidade-=1
daria pra fazer de forma mais eficiente usando o comando repeat() mas eu não sei se ele funciona só na versão pró scratch
Bom se não der certo eu posto uma engine Beleza?

mais uma coisa: não se esqueça de colocar obj_nave.x, obj_nave.y no point_direction ok?
avatar
Ranking : Nota B
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Número de Mensagens : 1092
Insígnias de JAM :

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

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

Re: problemas com as sprites

em Dom 17 Mar 2013, 23:33
Código:
 .Se x=xgo e y<ygo o y deveria diminuir em 3,mas o x não deveria mudar,no seu caso se x<xgo x+=3 se não x-=3,ou seja se ele for igual a xgo ele vai diminuir em 3 ja que não é menor entendeu,meu complicado né,mas deveria ser assim;

.Além disso seu carro andar mais rápido nas diagonais,se quiser que eu
Conteúdo patrocinado

Re: problemas com as sprites

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