Я пытаюсь подсчитать время, когда игрок удерживает кнопку мыши. Я попытался это, но он не работает:Каков лучший способ получить время удержания мыши?
var Game = cc.Layer.extend({
count: false,
countTimer: null,
init: function() {
var selfPointer = this;
this.canvas.addEventListener('mousedown', function(evt) {
selfPointer.count = true;
selfPointer.countTimer = window.setTimeout(selfPointer.Count(), 1);
});
this.canvas.addEventListener('mouseup', function(evt) {
selfPointer.count= false;
window.clearTimeout(selfPointer.countTimer);
});
},
Count: function() {
if (this.count)
{
window.setTimeout(this.Count(), 1);
}
}
Это часть моего кода (для краткости), что я хочу сделать это действие любого 1 milisecond, если игрок держит кнопку.
Это не работает, я полагаю, что это лучший способ сделать это, чем мой путь. Есть идеи?
JS clockbeats, как правило, намного больше, чем 1мс, поэтому вы не можете выполнить код, который часто. 10 мс все еще 1/100-й секунды, и о минимальной детализации интервалов и тайм-аутов. Я считаю, что IE составляет 11,4 мс, а хром - ближе к 8 мс. даже 12 мс интервалов достаточно для большинства игр; способный ~ 90FPS. – dandavis
@ dandavis приятная информация! не знал этого. спасибо – DontVoteMeDown