所以我查找了Cookie Clicker自动点击脚本并找到了这两个功能。
var autoClicker = setInterval(Game.ClickCookie, <milliseconds interval>);
和
var autoClicker = function(clicksAtOnce, repeatInterval) {
var cheated = false;
var intoTheAbyss = function() {
if(!cheated) {
cheated = true;
for(var i = 0; i < clicksAtOnce; i++) {
Game.ClickCookie();
Game.lastClick = 0;
}
cheated = false;
}
};
return setInterval(intoTheAbyss, repeatInterval);
};
autoClicker(<amount of clicks>, <milliseconds interval>);
每个函数在间隔期间多次模拟cookie的单击。第二个函数的说明是The auto-click cheat above(first function) can only click as fast as the CPU can handle. To produce an even faster effect, use:
所以我的问题是第二个功能如何比第一个更快?第二个函数中闭包的重点是什么?(它在没有闭包部分的情况下仍会自动点击)。
答案 0 :(得分:3)
严格来说,我认为所提供的解释并不正确。更重要的是,在第一个中,您每<milliseconds interval>
发送一个函数调用。在第二个中,您正在发送<amount of clicks>
个函数调用。如果您使用第二个每100毫秒发送100次点击,则与以1毫秒间隔运行第一次相同。但是,你不能低于1毫秒的间隔,所以你可以尝试运行第二个,比如每毫秒100次点击,这必然比第一次快。
该函数中的var cheated
展示位置会阻止intoTheAbyss
函数在每次运行时生成clicksAtOnce
个新cheated
布尔值。它只是为了节省内存。