我已经使用Gamemaker Studio几个月了,但仍在学习。今天我遇到了鼠标点击动作的麻烦:
我有两个物体,分别叫button_1和button_2。我的主要目的是,当玩家点击按钮_1时,它将被按钮_2取代,然后点击按钮_2,它将由按钮_1取代。
所以我喜欢这样做:
按钮_1:事件:鼠标"左键"->破坏自身并在的同一位置创建对象button_2
按钮_2:事件:鼠标"左键"->破坏自身并在的同一位置创建对象button_1
但是,当我单击按钮_1时,它会立即显示按钮_1。我想问题是由位置引起的,因为当我把两个按钮放得很远时,没关系,但如果它们重叠,问题就会出现在共享区域。
你有没有遇到过类似的问题?有什么办法吗?
我正在学习英语,如果我的解释不清楚,请原谅我。提前谢谢!
尝试使用"左释放"操作而不是"左按钮"。
我发现"左键"动作一次触发三次,所以我更喜欢使用"左释放"动作,因为它只触发一次。
在按钮中使用mouse_clear(button)
,如
mouse_clear(mb_left);
instance_create(x, y, button_2);
instance_destroy();
你做到了:
- button_1:事件鼠标左键->破坏自身并在相同位置创建对象button_2
- button_2:事件鼠标左键->破坏自身并在相同位置创建对象button_1
您的错误:
- 事件应为"左键按下",而不是左键
我还推荐:
- 在销毁旧实例之前先创建新实例
正如其他人所说,您应该使用"左释放"事件而不是"左按钮"。
此外,你应该检查你在房间里的同一个地方是否只有同一个对象的一个实例。我遇到了同样的问题(多次点击事件被触发),这是由两个或多个对象堆叠引起的,每个对象都触发了一个事件。