我有这个移动的角色,当我按下按钮时,我希望它能够射击鼠标指向的物体。但角色正在移动,所以我不知道如何在特定的地方制作动画。我正在使用Flash,动作脚本2或3
答案 0 :(得分:2)
有很多方法可以做到,但这个方法是最简单的方法之一:
给定源点A和目标点B:
计算A和B之间的距离
var distance:Number = computeDistance(A,B); //define your function where computeDistance returns the Pythagorean distance between A and B
计算x和y差值
var dx:Number = B.x - A.x;
var dy:Number = B.y - A.y;
// normalization. Think of this as a ratio of the legs relative to the hypotenuse
dx = dx / distance;
dy = dy / distance;`
通过将dx
和dy
与speedPerFrame
(任意)相乘来计算xSpeed和ySpeed
var xSpeed:Number = dx*speedPerFrame;
var ySpeed:Number = dy*speedPerFrame;
在主游戏循环中分别使用x
和y
增加对象的xSpeed
和ySpeed
位置。确保添加一个检查对象是否已到达目的地点。