Actionscript 3 左右两侧通过mose旋转对象

Actionscript 3 左右两侧通过mose旋转对象,actionscript-3,flash,actionscript-2,Actionscript 3,Flash,Actionscript 2,我必须做一个横幅广告(swf)。所以我在中间有一个圆圈对象,当你把鼠标移到右边时,我需要从左到右旋转,当你在左边移动鼠标时,从右向左开始旋转。有什么想法吗?谢谢 有很多方法可以做到这一点,但请先尝试一下,看看这是否就是您想要的: private var rotationStep = .25; private var newX:int; private var oldX:int; public Main():void { // Initialization of your stuff

我必须做一个横幅广告(swf)。所以我在中间有一个圆圈对象,当你把鼠标移到右边时,我需要从左到右旋转,当你在左边移动鼠标时,从右向左开始旋转。有什么想法吗?谢谢

有很多方法可以做到这一点,但请先尝试一下,看看这是否就是您想要的:

private var rotationStep = .25;
private var newX:int;
private var oldX:int;

public Main():void {

   // Initialization of your stuff 

   // When ready add this to track the mouse
   this.stage.addEventListener(MouseEvent.MOUSE_MOVE,followMouse);

}
private function followMouse(e:MouseEvent):void {
    if(this.newX > this.oldX) {
        this.rotate(1);
    } else {
        this.rotate(-1);
    }
    this.oldX = this.newX;
}

private function rotate(dir:int):void {
    // rotate ball based on direction
    this.ball.rotoationZ += this.rotationStep*dir;
}

请记住,旋转是以弧度为单位的,而不是以度为单位的。有很多方法可以做到这一点,但请先尝试一下,看看这是否就是您想要的:

private var rotationStep = .25;
private var newX:int;
private var oldX:int;

public Main():void {

   // Initialization of your stuff 

   // When ready add this to track the mouse
   this.stage.addEventListener(MouseEvent.MOUSE_MOVE,followMouse);

}
private function followMouse(e:MouseEvent):void {
    if(this.newX > this.oldX) {
        this.rotate(1);
    } else {
        this.rotate(-1);
    }
    this.oldX = this.newX;
}

private function rotate(dir:int):void {
    // rotate ball based on direction
    this.ball.rotoationZ += this.rotationStep*dir;
}
记住旋转是弧度,不是度