小行星游戏。程序不允许同时按下左,上和空格键

时间:2017-02-15 23:19:29

标签: gml

我正在写一个基本的小行星游戏。这是我的太空船对象的对象屏幕

enter image description here

我的每个操作中的代码都是

//Step
speed = max(speed - 0.01, 0);

//Left 
image_angle += 2;

//Right
image_angle -= 2;

//Outside Room
//Drag and drop item: wrap screen

//press Space
bullet = instance_create(x, y, obj_bullet);
bullet.direction = image_angle;
bullet.speed = 15;

问题在于,当我按住右键和上键时,我可以使用 空格键。但是,当我按住左键和上键并按空格键时,它不会拍摄。那是为什么?

我希望我在这里提供了足够的信息。如果还不够,请告诉我。 在这里发布代码比发布C程序的代码要多得多。

1 个答案:

答案 0 :(得分:0)

尝试在步骤事件中使用keyboard_check(key),而不是使用单独的事件处理程序。 IE:删除或注释左,上,右和空行动中的代码,并在步骤事件中包含类似......

//Speed
speed = max(speed - 0.01, 0);

//Turn
image_angle += ((keyboard_check(vk_right)-keyboard_check(vk_left)*2);

//Shoot
if keyboard_check_pressed(vk_space)
{
bullet = instance_create(x, y, obj_bullet);
bullet.direction = image_angle;
bullet.speed = 15;
}

希望它有效:)