Tiro de um lado só
Enviado: Qua Dez 26, 2018 2:58 pm
Isso é algo meio "especifico", basicamente eu queria fazer o player atirar para esquerda e direita, quando o player vira para a esquerda e atira, o tiro é acionado normalmente mas quando o player se vira para a direita o tiro sai para a esquerda, tiro só sai para direita se o player estiver andando para a direita. Eu sei é um tanto confuso mas acho que dá pra entender, se quiserem eu tento explicar mais detalhadamente.
Pra ajudar eu tentei usar duas variaveis (me corrijam se eu estiver errado) no Create do player:
esquerda = true {direita = false}
direita = true {esquerda = false}
E no Step eu coloquei nos codigos de movimento a variavel para que ela mude de acordo com a direção que o player esta olhando ou andando:
if esquerda = true {direita = false}
if direita = true {esquerda = false}
if keyboard_check(vk_right) {
xspeed = 5;
direita = true;
sprite_index=spr_player_d1;image_speed=0.4
}
else if keyboard_check(vk_left) {
xspeed = -5;
esquerda = true;
sprite_index=spr_player_e1;image_speed=0.4
}
if keyboard_check_released(vk_right){
xspeed = 0;
direita = true;
sprite_index=spr_player_d2
}
if keyboard_check_released(vk_left){
xspeed = 0;
esquerda = true;
sprite_index=spr_player_e2
}
E por fim os tiros que pra cada direção tem uma variavel de acordo com a direção que o player esta olhando ou andando:
if keyboard_check_pressed(ord("X"))
{
if direita = true {
sprite_index=spr_ataque
abc = instance_create(x,y,obj_bola)
abc.direction = direction
abc.image_angle = direction
abc.speed = 8
firecounter=0
}
else
if esquerda = true {
sprite_index=spr_ataque
abc = instance_create(x,y,obj_bola)
abc.direction = direction
abc.image_angle = direction
abc.speed = -8
firecounter=0
}
}
Oque tem de errado com esses codigos? Eu cometi algum erro com as variaveis?
Pra ajudar eu tentei usar duas variaveis (me corrijam se eu estiver errado) no Create do player:
esquerda = true {direita = false}
direita = true {esquerda = false}
E no Step eu coloquei nos codigos de movimento a variavel para que ela mude de acordo com a direção que o player esta olhando ou andando:
if esquerda = true {direita = false}
if direita = true {esquerda = false}
if keyboard_check(vk_right) {
xspeed = 5;
direita = true;
sprite_index=spr_player_d1;image_speed=0.4
}
else if keyboard_check(vk_left) {
xspeed = -5;
esquerda = true;
sprite_index=spr_player_e1;image_speed=0.4
}
if keyboard_check_released(vk_right){
xspeed = 0;
direita = true;
sprite_index=spr_player_d2
}
if keyboard_check_released(vk_left){
xspeed = 0;
esquerda = true;
sprite_index=spr_player_e2
}
E por fim os tiros que pra cada direção tem uma variavel de acordo com a direção que o player esta olhando ou andando:
if keyboard_check_pressed(ord("X"))
{
if direita = true {
sprite_index=spr_ataque
abc = instance_create(x,y,obj_bola)
abc.direction = direction
abc.image_angle = direction
abc.speed = 8
firecounter=0
}
else
if esquerda = true {
sprite_index=spr_ataque
abc = instance_create(x,y,obj_bola)
abc.direction = direction
abc.image_angle = direction
abc.speed = -8
firecounter=0
}
}
Oque tem de errado com esses codigos? Eu cometi algum erro com as variaveis?