Actionscript 3 将对象旋转到鼠标
Actionscript 3 rotate object to mouse
您好,我在 youtube 上观看了 tut 并且我编写了这段代码来使对象旋转到鼠标位置,但它有点不能正常工作。
代码:
package {
import flash.display.MovieClip;
import flash.events.Event;
public class char extends MovieClip
{
private var _pointer = this;
public function char()
{
addEventListener(Event.ENTER_FRAME, onEnter);
}
private function onEnter(event:Event):void
{
//Initialize dx and dy variables
var dx:Number = mouseX - _pointer.x;
var dy:Number = mouseY - _pointer.y;
//Store angle in angle variable
var angle:Number = Math.atan2(dy, dx) * 180 / Math.PI;
//Apply angle
_pointer.rotation = angle;
}
}
}
您需要从父影片剪辑中获取 mouseX 和 mouseY 坐标,因为:
- _pointer.x和_pointer.y也在父坐标系中表示
- 电影的旋转会干扰 mouseX 和 mouseY 值(它们会反映未旋转的对象)
所以需要修改这两行:
var dx:Number = parent.mouseX-_pointer.x;
var dy:Number = parent.mouseY-_pointer.y;
您好,我在 youtube 上观看了 tut 并且我编写了这段代码来使对象旋转到鼠标位置,但它有点不能正常工作。
代码:
package {
import flash.display.MovieClip;
import flash.events.Event;
public class char extends MovieClip
{
private var _pointer = this;
public function char()
{
addEventListener(Event.ENTER_FRAME, onEnter);
}
private function onEnter(event:Event):void
{
//Initialize dx and dy variables
var dx:Number = mouseX - _pointer.x;
var dy:Number = mouseY - _pointer.y;
//Store angle in angle variable
var angle:Number = Math.atan2(dy, dx) * 180 / Math.PI;
//Apply angle
_pointer.rotation = angle;
}
}
}
您需要从父影片剪辑中获取 mouseX 和 mouseY 坐标,因为:
- _pointer.x和_pointer.y也在父坐标系中表示
- 电影的旋转会干扰 mouseX 和 mouseY 值(它们会反映未旋转的对象)
所以需要修改这两行:
var dx:Number = parent.mouseX-_pointer.x;
var dy:Number = parent.mouseY-_pointer.y;