对于我正在处理的 Flash 游戏项目,我想创建一个应该能够通过光线投射检测玩家的相机。摄像机应该能够具有不同的视角(例如 45 度或 90 度),并且根据这些视角,光线投射应该有所不同。使用光线投射创建实际视角不会引起问题,但是,由于某些超出我的原因,这些视角所在的角度是错误的。
这是我使用的代码:
for (var i:Number = 0; i < this._viewAngle; i++)
{
var pointX:Number = (this._viewRange) * Math.cos(this._viewAngle + (i * Math.PI / 180));
var pointY:Number = (this._viewRange) * Math.sin(this._viewAngle + (i * Math.PI / 180));
this._rayHolder.graphics.lineTo(pointX, pointY);
this._rayHolder.graphics.moveTo(0, 0);
}
结果是这样的:
(90度)
(45度)
我希望我写的内容可以理解,因为我不知道如何更清楚地解释它如果有人能阐明我在这里做错了什么,那就太棒了。
编辑:
更改Math.cos(this._viewAngle + (i * Math.PI / 180));
为Math.cos((this._viewAngle + i) * Math.PI / 180);
结果:
(90度)
(45度)