动作脚本3:如何衡量鼠标事件之间的时间......?

时间:2013-10-16 14:30:03

标签: actionscript-3 time actionscript mouseevent timing

我试图让刻度盘以不同的速度旋转,具体取决于旋转鼠标滚动按钮的速度。

到目前为止,我有一个旋转物体,可以计算你做的转弯次数。

我现在正试图找到每个事件之间的时间,这样我就可以相应地加快或减慢下一个事件的速度。

这是我到目前为止所做的:

var scaler_1 = 1;
var rotation_value = 1;
var number_value = 1;
var cCount = 1;
var myTimer:Timer=new Timer(1000,0);


import flash.events.MouseEvent;
import flash.utils.setInterval;

stage.frameRate = 24;

function handleMouseWheel(event:MouseEvent):void 
{
    myTimer.start();



    movieClip_1.rotation += event.delta/scaler_1;

    rotation_value += event.delta;

    number_value += event.delta/scaler_1;




    //output for reference

     angle_1.text=String(movieClip_1.rotation); 

     number_1.text=String(number_value);
     time_1.text=String("timer " +myTimer );


      cCount = cCount+1;
      count_1.text=String("count " + cCount);


    //keep within 1000 numbers
     if(number_value < 0){
            number_value = 999
     }
     if(number_value >= 1000){
            number_value = 0
     }


     myTimer.stop();
}

myTimer.reset();
stage.addEventListener(MouseEvent.MOUSE_WHEEL, handleMouseWheel);

1 个答案:

答案 0 :(得分:2)

您可以使用getTimer()方法或Date.time来测量经过的时间,而不是使用Timer,因为它不准确。通常在第一个事件中从getTimer()获取值或新的Date()。时间并将其存储到下一个事件中,检查getTimer()的新值或时间之间的差异。差异是经过的时间(以毫秒为单位)。存储新值等等。