我正在尝试从一个计算角度的方法返回一个点作为向量。
然后我添加这些点x& y到我的播放器对象(来自示例代码)的x和y数字 - 这些是数字,而不是点。在其他地方,我看到数字被定义为浮点数,所以我不认为这是一个问题。
当我将distvar和distvar2乘以* 2时,我的对象移动,我能说出最好的因为这些值,以前是.59~& -8~,大于1(绝对值)。
任何提示?我应该在我的播放器对象上使用Point变量吗?还有什么我必须做的从point.x / y转换为Number吗?闪光灯的新手,感谢您的帮助。
谢谢!
public function GetAngle(initialp:Point,secondp:Point):Point{
distvar = ((initialp.x - secondp.x) * (initialp.x - secondp.x));
distvar2 = ((initialp.y - secondp.y) * (initialp.y - secondp.y));
//Emergency guard clause against dividing by 0
if (distvar + distvar2 == 0){
distvar = 1;
distvar2 = 1;
}
veldistance = Math.sqrt((distvar+distvar2));
distvar = ((Math.abs(initialp.x-secondp.x))/veldistance);
distvar2 = ((Math.abs(initialp.y-secondp.y))/veldistance);
if (secondp.x < initialp.x){
distvar = -distvar;
}
if (secondp.y < initialp.y){
distvar2 = -distvar2;
}
apoint.x = distvar;
apoint.y = distvar2;
return apoint;
答案 0 :(得分:2)
point.x / y的值是数字。你将point.x / y添加到object.x / y的方式应该没问题。我怀疑代码还有其他问题,但是如果没有更多的代码,我不确定是什么。首先,我看不到 apoint 的创建位置。