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.

ANDROID MULTI TOUCH

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Klinton Rodrigues
Novato
Novato
Reações: 1
Mensagens: 11

ANDROID MULTI TOUCH

Mensagem por Klinton Rodrigues » Sex Jan 05, 2024 5:08 am

Olá povo, gostaria de saber como posso fazer para que eu possa dar dois movimentos na tela ao mesmo tempo.
Exemplo, durante minha movimentação eu possa atirar.
Estou com dificuldade pois quando me movo não consigo usar o botão de atirar e quando estou atirando não posso me mover.Imagem


MINHA LINHA DE PROGRAMAÇÃO
#region movimentação do jato
//desenhar o circulo em baixo
var x1 = 224
var y1 = 864
var _escala = 1.2
var sprite_size = sprite_get_width(spr_joys)
draw_sprite_ext(spr_joys, 0,x1, y1, _escala, _escala, 0, c_white, .2)
//checando a bola pequena
var _mouse_x = device_mouse_x_to_gui(0);
var _mouse_y = device_mouse_y_to_gui(0);
var mouse_sobre = point_in_circle(_mouse_x, _mouse_y, x1, y1,sprite_size / 2 * _escala )
var mouse_click = device_mouse_check_button(0, mb_left)
draw_circle(x1, y1, sprite_size / 2 * _escala, true)
//checando se o mouse ta em cima
if (mouse_sobre || fazer){
if mouse_click
{
fazer = true
vel = min(point_distance(x1, y1, _mouse_x, _mouse_y), (sprite_size / 2) * (_escala))
dir = point_direction(x1, y1, _mouse_x, _mouse_y)
show_debug_message(dir) show_debug_message(vel)
}
}
if (!mouse_click)
{
fazer = false
vel = lerp(vel, 0, .1)
}
var x2 = lengthdir_x(vel, dir)
var y2 = lengthdir_y(vel, dir)
if instance_exists(obj_personagem){
var val_max = (sprite_size / 2) * (_escala)
var _velh = (x2 / val_max) * max_vel
var _velv = (y2 / val_max) * max_vel
obj_personagem.velh = _velh
obj_personagem.velv = _velv
}

draw_sprite_ext(spr_joys, 0, x1 + x2, y1+ y2 ,_escala / 4, _escala / 4, 0, c_white, .8)
#endregion

var xx = 1590
var yy = 864
var _escala2 = 0.9
var sprite_size2 = sprite_get_width(spr_miniJoys)
draw_sprite_ext(spr_miniJoys, 0,xx, yy, _escala2, _escala2, 0, c_white, .2)
var _mouse_x2 = device_mouse_x_to_gui(0);
var _mouse_y2 = device_mouse_y_to_gui(0);
var mouse_sobre2 = point_in_circle(_mouse_x2, _mouse_y2, xx, yy,sprite_size2 / 2 * _escala2 )
var mouse_click2 = device_mouse_check_button_pressed(0, mb_any)
if (mouse_sobre2 || fazer2){
if mouse_click2
{
fazer2 = true
if mouse_click2 && alarm[1] == -1{
instance_create_layer(obj_personagem.x + 10,obj_personagem.y - 46,"tiros", obj_tiro1)
instance_create_layer(obj_personagem.x + 10,obj_personagem.y + 40,"tiros", obj_tiro1)
tiros1_misseis --
alarm[1] = room_speed
}else if alarm[2] <= 0 && tiros1_misseis >=0{
alarm[2] = room_speed *2
}
}
}
if (!mouse_click2) && !mouse_sobre2
{
fazer2 = false

}

Responder

Quem está online

Usuários navegando neste fórum: Ahrefs [Bot] e 1 visitante