即时通讯在一个JavaScript游戏即时通讯尝试使三角学问题卡住了。 (xa,ya)半径和目标点(ya,yb)我需要找到一个新点的位置。找到一个点的原点,角度和半径的位置
//calculate a angle in degree
function angle(xa, ya, xb, yb)
{
var a= Math.atan2(yb - ya, xb - xa);
a*= 180/Math.PI;
return a;
}
function FindNewPointPosition()
{
//radius origine(xa,xb) destination(ya,yb)
var radius=30;
var a = angle(xa, xb, ya, yb);
newpoint.x = xa + radius * Math.cos(a);
newpoint.y = ya + radius * Math.sin(a);
return newpoint;
}
试想一个形象,因为我没有足够的声誉发布一个: 蓝色正方形是地图(5000x5000),黑色正方形(500×500)什么玩家看到(HUD)。 十字(400,400)是起点和太阳(4200,4200)的目的地。 红点(?,?)向玩家指示朝向哪个方向去寻找太阳。 但是太阳和十字位置可以颠倒或在不同的角落或任何地方!
目前的红点不这样做,所有..
韩国社交协会的帮助。
1.我不知道我数学非常糟糕,在这个网站找到的例子..与阿坦似乎是更好..但不是所有人2.交叉停留在中间的hud,因为它移动和红点是周围。 – softindev
试试这个代码https://jsfiddle.net/ka9xr07j/ - 看看浏览器控制台。 new.x和new.y计算正确 – Trike
我做索姆修改https://jsfiddle.net/softindev/1qcbth3x/8/但它显示430,400为什么? – softindev