0

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

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

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

这是我到目前为止所拥有的:

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);
4

1 回答 1

2

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

于 2013-10-16T14:35:25.550 回答