GameMaker多次点击?

时间:2018-01-08 18:38:50

标签: gml

我正在使用GML制作GameMaker游戏。我有一个对象" obj_renameServer"。在这个对象上,我有事件"按下鼠标左键"。在这种情况下,我写了:

serverRename = get_string("Rename your server:", "My Server");

但是,当我点击该对象时,它会创建~15个字符串提示,而不仅仅是1.

事件是"按下鼠标左键",而不是"鼠标左键按下" - 所以我不知道是什么原因造成的。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

是的,我记得在使用GML进行编码时出现此问题...我通过创建一个以布尔值作为条件的if语句找到了一种解决方法,然后在代码运行后,我将布尔值设置为false,因为它不会再次触发。它很便宜,但它有效,我没想到它。

答案 1 :(得分:2)

我从未遇到过这个问题,但就像Bracefor提到的那样,你可以创建一个缓冲区布尔值。

鼠标左按事件:

if(buffer) {
    buffer = !buffer;
    serverRename = get_string("Rename your server:", "My Server");
}

鼠标左侧已发布事件:

buffer = !buffer;

通过这种方式,动作不会被触发多次"每次点击" (即使这应该是鼠标按下事件的工作)。