Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
erro no gAmEmAkER
erro no gAmEmAkER
Se eu pressionar esquerda,e baixo ou cima,mudar sprite para o sprite andando invert, e se soltar,
mudar sprite para parado invert.
Se eu pressionar direita,e baixo ou cima,mudar sprite para o sprite andando.
Não consigo programar isso
CODIGO:
keydown = keyboard_check(vk_down)
sprite_index = spr_lolo_andando
keyup = keyboard_check(vk_up)
sprite_index = spr_lolo_andando
keyleft = keyboard_check(vk_left) and keyboard_check(vk_up)
sprite_index = spr_lolo_andando_invert
keyleft2 = keyboard_check(vk_left) and keyboard_check(vk_down)
sprite_index = spr_lolo_andando_invert
keyright = keyboard_check(vk_right) and keyboard_check(vk_up)
sprite_index = spr_lolo_andando
keyright2 = keyboard_check(vk_right) and keyboard_check(vk_down)
sprite_index = spr_lolo_andando_invert
if keyright2 & place_free(x+thecol,y)
x+=vel
if keyleft2 & place_free(x-thecol,y)
x+=vel
if keyright & place_free(x+thecol,y)
x+=vel
if keyleft & place_free(x-thecol,y)
x+=vel
if keydown & place_free(x,y+thecol)
y+=vel
if keyup & place_free(x,y-thecol)
y-=vel
if !keyup & !keydown & !keyright & !keyleft & !keyright2 & !keyleft
sprite_index = spr_lolo
mudar sprite para parado invert.
Se eu pressionar direita,e baixo ou cima,mudar sprite para o sprite andando.
Não consigo programar isso
CODIGO:
keydown = keyboard_check(vk_down)
sprite_index = spr_lolo_andando
keyup = keyboard_check(vk_up)
sprite_index = spr_lolo_andando
keyleft = keyboard_check(vk_left) and keyboard_check(vk_up)
sprite_index = spr_lolo_andando_invert
keyleft2 = keyboard_check(vk_left) and keyboard_check(vk_down)
sprite_index = spr_lolo_andando_invert
keyright = keyboard_check(vk_right) and keyboard_check(vk_up)
sprite_index = spr_lolo_andando
keyright2 = keyboard_check(vk_right) and keyboard_check(vk_down)
sprite_index = spr_lolo_andando_invert
if keyright2 & place_free(x+thecol,y)
x+=vel
if keyleft2 & place_free(x-thecol,y)
x+=vel
if keyright & place_free(x+thecol,y)
x+=vel
if keyleft & place_free(x-thecol,y)
x+=vel
if keydown & place_free(x,y+thecol)
y+=vel
if keyup & place_free(x,y-thecol)
y-=vel
if !keyup & !keydown & !keyright & !keyleft & !keyright2 & !keyleft
sprite_index = spr_lolo
Re: erro no gAmEmAkER
Fala T4ILS, tá bem bangunçada a coisa, mas vou tentar aqui.
Vou considerar só isso que disse:
Primeiro evento 'Create' inicialize uma variável chamada 'invert' com valor 'false':
No 'Step' guardamos o estado das teclas (Lembre-se de remover seus códigos anteriores):
Em seguida colocamos a movimentação (Lembrando que vel já tem que ter um valor definido antes):
Agora colocamos a variável 'invert' para trocar de valor se teclar esquerda ou direita:
Por último trocamos as sprites conforme você explicou. Como qualquer tecla faz ele se mover só checar isso para a sprite andando. Caso nenhuma tecla seja pressionada, então está parado. Dai só colocar a inversão dentro de cada condição:
Espero que ajude
(Tópico movido pra sessão correta: Dúvidas)
Vou considerar só isso que disse:
Basta transformar isso em código. Existem outros jeitos mais simples de fazer, mas pra tu acompanhar como tranformar o que tu quer em código vamos de um jeito mais longo.Se eu pressionar esquerda,e baixo ou cima,mudar sprite para o sprite andando invert, e se soltar, mudar sprite para parado invert.
Se eu pressionar direita,e baixo ou cima,mudar sprite para o sprite andando.
Primeiro evento 'Create' inicialize uma variável chamada 'invert' com valor 'false':
Código: Selecionar todos
invert = false
Código: Selecionar todos
keydown = keyboard_check(vk_down)
keyup = keyboard_check(vk_up)
keyleft = keyboard_check(vk_left)
keyright = keyboard_check(vk_right)
Código: Selecionar todos
if keyleft and place_free(x - vel, y)
{
x -= vel
}
if keyright and place_free (x + vel, y)
{
x += vel
}
if keyup and place_free(x, y - vel)
{
y -= vel
}
if keydown and place_free (x, y + vel)
{
y += vel
}
Código: Selecionar todos
if keyleft
{
invert = true
}
else if keyright
{
invert = false
}
Código: Selecionar todos
if (keyleft or keyright or keyup or keydown)
{
if invert == true
{
sprite_index = spr_lolo_andando_invert
}
else
{
sprite_index = spr_lolo_andando
}
}
else if (keyleft and keyright and keyup and keydown) == false
{
if invert == true
{
sprite_index = spr_lolo_parado_invert
}
else
{
sprite_index = spr_lolo_parado
}
}
(Tópico movido pra sessão correta: Dúvidas)
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante