problemas com as sprites

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

problemas com as sprites

Mensagem por matheus.victor.3194 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

matheus.victor.3194

Número de Mensagens : 55
Idade : 18
Data de inscrição : 31/01/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: problemas com as sprites

Mensagem por the.enginer 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.

the.enginer

Número de Mensagens : 6
Data de inscrição : 15/03/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: problemas com as sprites

Mensagem por matheus.victor.3194 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 '-'

matheus.victor.3194

Número de Mensagens : 55
Idade : 18
Data de inscrição : 31/01/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: problemas com as sprites

Mensagem por the.enginer 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?

the.enginer

Número de Mensagens : 6
Data de inscrição : 15/03/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: problemas com as sprites

Mensagem por Thyago 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

Thyago

Ranking : Nota B
Número de Mensagens : 1092
Idade : 30
Data de inscrição : 24/08/2009
Notas recebidas : D+B+B+C+A
Reputação : 31
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   :

Voltar ao Topo Ir em baixo

Re: problemas com as sprites

Mensagem por Conteúdo patrocinado Hoje à(s) 19:55


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