Actionscript 3将对象旋转到鼠标

Posted

技术标签:

【中文标题】Actionscript 3将对象旋转到鼠标【英文标题】:Actionscript 3 rotate object to mouse 【发布时间】:2016-08-25 14:52:03 【问题描述】:

您好,我在 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;
    

【问题讨论】:

【参考方案1】:

您需要从父影片剪辑中获取 mouseX 和 mouseY 坐标,因为:

    _pointer.x 和 _pointer.y 也在父坐标系中表示 电影的旋转会干扰 mouseX 和 mouseY 值(它们会反映未旋转的对象)

所以需要修改这两行:

var dx:Number = parent.mouseX-_pointer.x;
var dy:Number = parent.mouseY-_pointer.y;

【讨论】:

是的,我知道,我已经解决了问题,我使用 stage.mouseX 和 stage.mouseY 而不是 mouseX 和 mouseY。无论如何感谢您的回复。 :)

以上是关于Actionscript 3将对象旋转到鼠标的主要内容,如果未能解决你的问题,请参考以下文章

ActionScript 3 AS3旋转鼠标

ActionScript 3 根据鼠标位置旋转项目

actionscript 3 通过拖动拉伸和旋转动画剪辑箭头

使用 Three.js 将 3D 对象旋转到鼠标

使用 Actionscript 3 连接到数据库 [关闭]

ActionScript 视频调整大小