8 direções

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

8 direções

Mensagem por mako182 em Qui 09 Jul 2009, 20:03

iae galera
bem como faz o player se movimentar em 8 direçoes
só isso ja tentei coisas absurdas com codigos
q só me levaram a erro na linha tal
flow

mako182

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

Voltar ao Topo Ir em baixo

Re: 8 direções

Mensagem por Willy em Qui 09 Jul 2009, 20:08

Usa esse códico aqui no evento step do player

Código:
//movimentar-se direita e esquerda

if keyboard_check(vk_right) = true{ //se o botao direito for apertado
hspeed = 3                          // velocidade que anda para a direita
}else{                              // se direita não for apertado
if keyboard_check(vk_left) = true{  // se o botao esquerdo for apertado
hspeed = -3                        // velocidade que anda para a esquerda
}else{                              // se não for apertado o botao direita ou esquerda
hspeed = 0                          // fica parado           
}
}
//movimentar-se para cima e baixo

if keyboard_check(vk_up) = true{  //se o botao cima for apertado
vspeed = -3                        //velocidade que anda para cima
}else{                            //se não for apertado para cima
if keyboard_check(vk_down) = true{ //se o botao baixo for apertado
vspeed = 3                        //velocidade anda para baixo
}else{                            //se não for apertado o botão cima ou baixo
vspeed = 0                        //fica parado
}
}



Aletere onde tem "3" para definir a velocidade.
Espero ter ajudado.

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: 8 direções

Mensagem por Borgo em Sex 10 Jul 2009, 10:54

Código:
//argument0 = velocidade
//uso: no evento STEP rode este script, no primeiro argumento,
//insira a velocidade, ex.: 5



  hspeed=0;
  vspeed=0;
if keyboard_check(vk_up) && keyboard_check(vk_right){
  hspeed=argument0;
  vspeed=-argument0;
}else if keyboard_check(vk_right) && keyboard_check(vk_down){
  hspeed=argument0;
  vspeed=argument0;
}else if keyboard_check(vk_down) && keyboard_check(vk_left){
  hspeed=-argument0;
  vspeed=argument0;
}else if keyboard_check(vk_left) && keyboard_check(vk_up){
  hspeed=-argument0;
  vspeed=-argument0;
}else if keyboard_check(vk_up){
  vspeed=-argument0;
}else if keyboard_check(vk_right){
  hspeed=argument0;
}else if keyboard_check(vk_down){
  vspeed=argument0;
}else if keyboard_check(vk_left){
  hspeed=-argument0;
}

Borgo

Número de Mensagens : 69
Idade : 29
Data de inscrição : 06/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.neonerds.com.br

Voltar ao Topo Ir em baixo

Re: 8 direções

Mensagem por Igor KinGamer em Sex 10 Jul 2009, 12:52

Nos dois jeitos, dá pra se movimentar nas 8 direções, mas nas diagonais vai mais rápido que na horizontal ou vertical (na diagonal vai, por exemplo, 3 pixels para a direita e 3 para baixo, assim a velocidade não será 3, mas sim 4,24264051...).

O melhor a fazer é usar speed e direction.
Se está segurando pra direita, direction = 0; direita e cima, direction = 45; cima, direction = 90;...
E no final speed = velocidade.

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: 8 direções

Mensagem por Borgo em Sab 11 Jul 2009, 17:39

Boa Igor!! esquecemos disso realmente.
Mako... segue "novo" script...

Eu não cheguei a conferir, mas se alguma direção estiver errada, mude o "direction".
O direction é, como o nome diz, a direção, em um ângulo de 360 graus. Para direita é zero e aumenta no sentido anti-horário...

Código:
//argument0 = velocidade
//uso: no evento STEP rode este script, no primeiro argumento,
//insira a velocidade, ex.: 5



speed=0;
if keyboard_check(vk_up) && keyboard_check(vk_right){
  direction=45;
  speed=argument0;
  vspeed=-argument0;
}else if keyboard_check(vk_right) && keyboard_check(vk_down){
  direction=315;
  speed=argument0;
}else if keyboard_check(vk_down) && keyboard_check(vk_left){
  direction=225;
  speed=argument0;
}else if keyboard_check(vk_left) && keyboard_check(vk_up){
  direction=135;
  speed=argument0;
}else if keyboard_check(vk_up){
  direction=90;
  speed=argument0;
}else if keyboard_check(vk_right){
  direction=0;
  speed=argument0;
}else if keyboard_check(vk_down){
  direction=270;
  speed=argument0;
}else if keyboard_check(vk_left){
  direction=180;
  speed=argument0;
}

Borgo

Número de Mensagens : 69
Idade : 29
Data de inscrição : 06/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.neonerds.com.br

Voltar ao Topo Ir em baixo

Re: 8 direções

Mensagem por Conteúdo patrocinado Hoje à(s) 09:53


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