我正在使用GML制作GameMaker游戏。我有一个对象" obj_renameServer"。在这个对象上,我有事件"按下鼠标左键"。在这种情况下,我写了:
serverRename = get_string("Rename your server:", "My Server");
但是,当我点击该对象时,它会创建~15个字符串提示,而不仅仅是1.
事件是"按下鼠标左键",而不是"鼠标左键按下" - 所以我不知道是什么原因造成的。有什么想法吗?
答案 0 :(得分:2)
是的,我记得在使用GML进行编码时出现此问题...我通过创建一个以布尔值作为条件的if语句找到了一种解决方法,然后在代码运行后,我将布尔值设置为false,因为它不会再次触发。它很便宜,但它有效,我没想到它。
答案 1 :(得分:2)
我从未遇到过这个问题,但就像Bracefor提到的那样,你可以创建一个缓冲区布尔值。
鼠标左按事件:
if(buffer) {
buffer = !buffer;
serverRename = get_string("Rename your server:", "My Server");
}
鼠标左侧已发布事件:
buffer = !buffer;
通过这种方式,动作不会被触发多次"每次点击" (即使这应该是鼠标按下事件的工作)。