1

我已经使用 Gamemaker Studio 几个月了,但仍在学习它。今天我遇到了鼠标点击动作的麻烦:

我有 2 个名为 button_1 和 button_2 的对象。我的主要目的是当玩家点击button_1时,它会被button_2替换,然后点击button_2,它会被button_1替换。

所以我这样做了:

button_1:事件:鼠标“左键”-> 销毁自身并在同一位置创建对象 button_2

button_2:事件:鼠标“左键”-> 销毁自身并在同一位置创建对象 button_1

但是,当我单击 button_1 时,它会立即显示 button_1。我想问题是由位置引起的,因为当我将 2 个按钮彼此远离时,没关系,但如果它们重叠,共享区域就会出现问题。

你有没有遇到过类似的问题?有什么想法可以解决吗?

我正在学习英语,如果我的解释不清楚,请见谅。先感谢您!

4

4 回答 4

3

尝试使用“左释放”动作而不是“左键”。

我发现“左键”动作一次触发三次,所以我更喜欢使用“左释放”动作,因为它只触发一次。

于 2015-02-25T11:06:51.500 回答
0

你做了:

  • button_1:事件鼠标左键 -> 销毁自身并在同一位置创建对象 button_2
  • button_2:事件鼠标左键 -> 销毁自身并在同一位置创建对象 button_1

你的错误:

  • 事件应该是“左按下”,而不是左键

我还推荐:

  • 在销毁旧实例之前创建新实例
于 2015-02-27T17:48:22.963 回答
0

mouse_clear(button)在按钮中使用,例如

mouse_clear(mb_left);
instance_create(x, y, button_2);
instance_destroy();
于 2015-02-25T19:24:01.113 回答
0

正如其他人所提到的,您应该使用“Left Released”事件而不是“Left button”。

此外,您应该检查您是否仅在房间的同一位置拥有同一对象的实例。我遇到了同样的问题(触发了多次单击事件),这是由 2 个或更多对象堆叠每个触发事件引起的。

于 2016-09-11T09:24:44.120 回答