Página 1 de 1

ANDROID MULTI TOUCH

Enviado: Sex Jan 05, 2024 5:08 am
por Klinton Rodrigues
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

}