我如何计时HTML5画布上的拖放事件的时间? (KineticJS)

问题描述 投票:0回答:2

我正在尝试创建一个应用程序,在该应用程序中,用户需要拖动Kinetic.Image对象一段必需的时间(在本例中为5秒);这将用于确保他们没有执行手头的任务就不会继续进行下一个阶段。我正在为我的应用程序使用KineticJS。 dragstart,dragmove和dragend事件处理程序的某种组合是否可行?

javascript timer html5-canvas kineticjs
2个回答
0
投票
 var count = 0;
 function Tick() {
     count++;
     window.setTimeout("Tick()", 1000);
 }

 myObject.on('dragstart', function(){
     Tick();
 });

 myObject.on('dragend', function(){
     return count;
 }

我不确定这是否是一个好方法,但是您可以使用setTimeout或setInterval来递增变量'count',然后在拖动完成后返回该变量。

如果要使用本机的KineticJS实现,则必须使用Kinetic.Animation,因为它具有内置的'frame.time',它将为您计数毫秒,但是如果只想拖动事件,那会有些混乱。] >


0
投票

我现在自己想出了一个解决方案,因此将它放在这里,供任何有兴趣的人使用。我认为,最简单的方法是在dragstart中添加一个时间戳,在dragend中进行相同的操作,然后执行diff。用差值增加一个全局计数器变量,然后在拖尾中进行检查以查看该计数器是否超过要求的数量。

© www.soinside.com 2019 - 2024. All rights reserved.