Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Movimento diagonal
4 participantes
Página 1 de 1
Movimento diagonal
gente to com mais um desafio na criação do meu jogo
bem, eu criei o movimento do meu heroi, otimo
porem, quando eu aperto baixo e esquerda (por exemplo)
ele anda na diagonal
bem, eu sei pq isso acontece, porem não sei com solucionar
eu queria criar um movimento q desse prioridade sempre pr a novo direção pedida mesmo com o botão de outra precionado
ex: se eu presinar para cima e depois para esquerda (sem soltar o botão cima):
Eu gostaria que o heroi fosse para esqueda e logo que eu precionace cima, para cima, e quando eu soltasse o cima, ele voltasse a ir para a esquerda.
porem eu não sei como fazer isso.
Help!!!
bem, eu criei o movimento do meu heroi, otimo
porem, quando eu aperto baixo e esquerda (por exemplo)
ele anda na diagonal
bem, eu sei pq isso acontece, porem não sei com solucionar
eu queria criar um movimento q desse prioridade sempre pr a novo direção pedida mesmo com o botão de outra precionado
ex: se eu presinar para cima e depois para esquerda (sem soltar o botão cima):
Eu gostaria que o heroi fosse para esqueda e logo que eu precionace cima, para cima, e quando eu soltasse o cima, ele voltasse a ir para a esquerda.
porem eu não sei como fazer isso.
Help!!!
theokof98- Games Ranking :
Notas recebidas : D,B,C,B
Data de inscrição : 18/12/2009
Reputação : 8
Número de Mensagens : 308
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: Movimento diagonal
Não sei se isso é possivel..
Mas, que uma ideia?
Faz com que o personagem pare ao precionar 2 teclas..
Exemplo
[STEP]
if keyboard_check_pressed(vk_left) && keyboard_check_pressed(vk_up)
{
speed=0
}
faz isso com as combinações de teclas possiveis, assim quando o cara apertar duas teclas juntas o carinha não anda..
Mas, que uma ideia?
Faz com que o personagem pare ao precionar 2 teclas..
Exemplo
[STEP]
if keyboard_check_pressed(vk_left) && keyboard_check_pressed(vk_up)
{
speed=0
}
faz isso com as combinações de teclas possiveis, assim quando o cara apertar duas teclas juntas o carinha não anda..
Gabreel- Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Game Maker Studio 2.0
- Javascript
- Outros
Re: Movimento diagonal
mais eu não quero q ele pr de caminhar
eu quero q ele caminhe porem que tenha como prioridade a nova tecla que ele precionou
eu quero q ele caminhe porem que tenha como prioridade a nova tecla que ele precionou
theokof98- Games Ranking :
Notas recebidas : D,B,C,B
Data de inscrição : 18/12/2009
Reputação : 8
Número de Mensagens : 308
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: Movimento diagonal
da para fazer um esquema desse usando a matematica!!!
vou te dar um exemplo, se vc não entender eu faço uma parte da engine para você.
vamos dar os valores de cada movimento!!!
///EVENTO CREATE
direc = 0 ///não mude, direção padrão
direita = 1
esquerda = 2
cima = 5
baixo = 10
vel = 3 ///controla a velocidade
///EVENTO STEP
if direc = 1{hspeed = vel}
if direc = 2{hspeed = -vel}
if direc = 5{vspeed = -vel}
if direc = 10{hspeed = vel}
if direc = 6{hspeed = vel; vspeed = -vel}
if direc = 11{hspeed = vel; vspeed = vel}
if direc = 7{hspeed = -vel; vspeed = -vel}
if direc = 12{hspeed = -vel; vspeed = vel}
if keyboard_check_pressed(vk_right)
{
direc = direc + direita
}if keyboard_check_released(vk_right){direc = direc - direita}
if keyboard_check_pressed(vk_up)
{
direc = direc + cima
}if keyboard_check_released(vk_up){direc = direc - cima}
/////PRONTO AGORA SE VC APERTAR A SETA PATA CIMA E PARA A DIREITA ELE VAI ANDAR NA DIAGONAL direita para cima
vou te dar um exemplo, se vc não entender eu faço uma parte da engine para você.
vamos dar os valores de cada movimento!!!
///EVENTO CREATE
direc = 0 ///não mude, direção padrão
direita = 1
esquerda = 2
cima = 5
baixo = 10
vel = 3 ///controla a velocidade
///EVENTO STEP
if direc = 1{hspeed = vel}
if direc = 2{hspeed = -vel}
if direc = 5{vspeed = -vel}
if direc = 10{hspeed = vel}
if direc = 6{hspeed = vel; vspeed = -vel}
if direc = 11{hspeed = vel; vspeed = vel}
if direc = 7{hspeed = -vel; vspeed = -vel}
if direc = 12{hspeed = -vel; vspeed = vel}
if keyboard_check_pressed(vk_right)
{
direc = direc + direita
}if keyboard_check_released(vk_right){direc = direc - direita}
if keyboard_check_pressed(vk_up)
{
direc = direc + cima
}if keyboard_check_released(vk_up){direc = direc - cima}
/////PRONTO AGORA SE VC APERTAR A SETA PATA CIMA E PARA A DIREITA ELE VAI ANDAR NA DIAGONAL direita para cima
itallo- Games Ranking :
Notas recebidas : B - D
Data de inscrição : 26/08/2009
Reputação : 12
Número de Mensagens : 970
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Movimento diagonal
Use uma switch pra coordenar o movimento de acordo com a última tecla pressionada. Coloque esse código no Step:
Resta saber se o movimento da instância é feito por incremento das coordenadas x e y OU se ele é feito por speed e direction. Se for com direction, é só assimilar o ângulo à tecla respectiva. Veja:
Boa sorte.
- Código:
switch (keyboard_lastkey)
begin
case (vk_left): x -= 10; break;
case (vk_right): x += 10; break;
case (vk_up): y -= 10; break;
case (vk_down): y += 10; break;
end;
Resta saber se o movimento da instância é feito por incremento das coordenadas x e y OU se ele é feito por speed e direction. Se for com direction, é só assimilar o ângulo à tecla respectiva. Veja:
- Código:
switch (keyboard_lastkey)
begin
case (vk_left): direction := 180 break;
case (vk_right): direction := 0 break;
case (vk_up): direction := 90 break;
case (vk_down): direction := 270 break;
end;
Boa sorte.
Convidad- Convidado
Re: Movimento diagonal
na verdade eu tenho outro tipo de movimento.
é q vc deve estar usando o jump to position(se for em D&D)
ou seja deve ta fazendo isso:
tem outro jeito:
se for isso q vc quer...Flws!
é q vc deve estar usando o jump to position(se for em D&D)
ou seja deve ta fazendo isso:
- Código:
if keyboard_check(vk_left)
{
x-=4
}...
tem outro jeito:
- Código:
if keyboard_check(vk_left)
{
motion_set(180,4)//no lugar do 4 vc coloca a velocidade q desejar
}
if keyboard_check(vk_right)
{
motion_set(0,4)
}
if keyboard_check(vk_up)
{
motion_set(90,4)
}
if keyboard_check(vk_down)
{
motion_set(270,4)
}
if keyboard_check(vk_nokey)
{
motion_set(0,0)
}//isso faz com q quando vc não ta pressionando nenhum botão o obj para.
se for isso q vc quer...Flws!
lucas mendes- Data de inscrição : 04/05/2009
Reputação : 0
Número de Mensagens : 416
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Tópicos semelhantes
» andar na diagonal
» Duvida sobre movimento diagonal
» [Resolvido] movimento diagonal em jogo plataforma
» Duas duvidas sobre movimento em diagonal e ''OPÇAO CORRER"
» ir para a diagonal
» Duvida sobre movimento diagonal
» [Resolvido] movimento diagonal em jogo plataforma
» Duas duvidas sobre movimento em diagonal e ''OPÇAO CORRER"
» ir para a diagonal
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos