在AS3.0中如何实现鼠标跟随?
2个回答
2014-02-22
展开全部
首先是一个使敌人有移动的事件监听,这是一个enterframe事件。
enemy_mc.addEventListener(Event.ENTER_FRAME, do_stuff);
要调用的函数
function do_stuff(event:Event):void {
// 这儿计算出敌人中心点随着鼠标旋转的角度.
var myRadians:Number = Math.atan2(mouseY-enemy_mc.y, mouseX-enemy_mc.x);
var myDegrees:Number = Math.round((myRadians*180/Math.PI));
// 这是敌人移向鼠标的参数.
var yChange:Number = Math.round(mouseY-enemy_mc.y);
var xChange:Number = Math.round(mouseX-enemy_mc.x);
var yMove:Number = Math.round(yChange/20);
var xMove:Number = Math.round(xChange/20);
// 不使用上面的计算就没有什么可以人做的事,这样我就设置x和y及旋转.
enemy_mc.y += yMove;
enemy_mc.x += xMove;
enemy_mc.rotation = myDegrees+90;
}
enemy_mc.addEventListener(Event.ENTER_FRAME, do_stuff);
要调用的函数
function do_stuff(event:Event):void {
// 这儿计算出敌人中心点随着鼠标旋转的角度.
var myRadians:Number = Math.atan2(mouseY-enemy_mc.y, mouseX-enemy_mc.x);
var myDegrees:Number = Math.round((myRadians*180/Math.PI));
// 这是敌人移向鼠标的参数.
var yChange:Number = Math.round(mouseY-enemy_mc.y);
var xChange:Number = Math.round(mouseX-enemy_mc.x);
var yMove:Number = Math.round(yChange/20);
var xMove:Number = Math.round(xChange/20);
// 不使用上面的计算就没有什么可以人做的事,这样我就设置x和y及旋转.
enemy_mc.y += yMove;
enemy_mc.x += xMove;
enemy_mc.rotation = myDegrees+90;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-02-22
展开全部
enemy_mc.y += yMove;
enemy_mc.x += xMove;
enemy_mc.x += xMove;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询