Actionscript 3 如何在3D游戏中防止用户在交通堵塞时掉头

Actionscript 3 如何在3D游戏中防止用户在交通堵塞时掉头,actionscript-3,flash,actionscript,stage3d,Actionscript 3,Flash,Actionscript,Stage3d,我正在用Flare3D在flash中制作一个3D游戏,我有一条由长直线段和短曲线段组成的轨迹。玩家可以自由驾驶他们的车,但我需要能够防止他们掉头,并在赛道上向后行驶 有什么办法可以做到这一点吗 我不知道AS3的语法,但总体思路是为每一段(至少是直线段)定义行驶方向,以及可接受的偏差。然后,如果球员的方向超出了偏离范围,那么你可以让他们回到球场上,或者让他们崩溃,或者做任何你想做的事情 例如: 直线轨道段为30度。偏差为+-20。用户的方向可以是10到50度,然后再开始踢他们的屁股。我不知道AS3

我正在用Flare3D在flash中制作一个3D游戏,我有一条由长直线段和短曲线段组成的轨迹。玩家可以自由驾驶他们的车,但我需要能够防止他们掉头,并在赛道上向后行驶


有什么办法可以做到这一点吗

我不知道AS3的语法,但总体思路是为每一段(至少是直线段)定义行驶方向,以及可接受的偏差。然后,如果球员的方向超出了偏离范围,那么你可以让他们回到球场上,或者让他们崩溃,或者做任何你想做的事情

例如:


直线轨道段为30度。偏差为+-20。用户的方向可以是10到50度,然后再开始踢他们的屁股。

我不知道AS3语法,但一般的想法是定义每段(至少是直线段)的移动方向和可接受的偏差。然后,如果球员的方向超出了偏离范围,那么你可以让他们回到球场上,或者让他们崩溃,或者做任何你想做的事情

例如:


直线轨道段为30度。偏差为+-20。在你开始踢他们的屁股之前,用户的方向可以是10到50度。

一种方法是分割轨迹,轨迹的每一段都有一个它所面对的方向(正如boo所说),因此如果轨迹朝北,即0/360,那么轨迹中该点的段将是0。在他们第一次转弯后,假设是向右90度,那么在该点的轨迹值为90度

一旦你有了足够的区段,它们都有了方向,那么你能做的就是向前看。因此,如果它们位于段10上,请查看段11,并使用该段值作为boo指向的限制(+/-20度)。这可能会解决转弯时遇到的任何问题,允许他们在转弯时转向,但仍然能够撞车

这假设您正在跟踪他们当前所在的区段,并且前面只有一个区段。如果轨道有选择的话,你可能不得不采用它

而且

如果他们试着把车慢慢转过来,我会同意Boo。检查汽车在道路上的角度,只允许有这么大的变化,可能会添加一个声音,强制他们将车轮转动到底,以便他们理解为什么车轮不再转动


如果他们在尝试时移动得很快,我会添加一个碰撞动画,然后将他们的车重置回轨道。用户将学会避免朝着错误的方向,因为这样做时它会崩溃。

一种方法是对轨迹进行分段,并且对于轨迹的每个分段都有一个它所面对的方向(正如boo所说),因此如果轨迹朝北,即0/360,则轨迹中该点的分段将为0。在他们第一次转弯后,假设是向右90度,那么在该点的轨迹值为90度

一旦你有了足够的区段,它们都有了方向,那么你能做的就是向前看。因此,如果它们位于段10上,请查看段11,并使用该段值作为boo指向的限制(+/-20度)。这可能会解决转弯时遇到的任何问题,允许他们在转弯时转向,但仍然能够撞车

这假设您正在跟踪他们当前所在的区段,并且前面只有一个区段。如果轨道有选择的话,你可能不得不采用它

而且

如果他们试着把车慢慢转过来,我会同意Boo。检查汽车在道路上的角度,只允许有这么大的变化,可能会添加一个声音,强制他们将车轮转动到底,以便他们理解为什么车轮不再转动


如果他们在尝试时移动得很快,我会添加一个碰撞动画,然后将他们的车重置回轨道。用户将学会避免面对错误的方向,因为当你这样做时它会崩溃。

我同意你和@Boo所说的原则:找出他们应该能转多远,并确保他们不会转得更远。但我一点也不清楚该怎么做。该轨迹没有规则线段。我需要一种以某种方式轮询世界的方法,可能使用法线或碰撞数据来推导角度。我假设你的汽车在世界坐标中,你有一个表示汽车方向的向量。该向量也需要转换为世界坐标。通过这些部件,您应该能够随时确定汽车的行驶方向。您还必须制作一张道路地图,带有线段(除非道路重叠,否则可能简化为2d)。有了这些,你需要弄清楚你所在的细分市场。这就是它的工作原理。我不认为有任何简单的方法可以对赛道做出反应来确定方向。我同意你和@Boo所说的原则:找出他们应该能转多远,确保他们不会转得更远。但我一点也不清楚该怎么做。该轨迹没有规则线段。我需要一种以某种方式轮询世界的方法,可能使用法线或碰撞数据来推导角度。我假设你的汽车在世界坐标中,你有一个表示汽车方向的向量。该向量也需要转换为世界坐标。通过这些部件,您应该能够随时确定汽车的行驶方向。您还必须制作一张道路地图,带有线段(除非道路重叠,否则可能简化为2d)。有了这些,你需要弄清楚你所在的细分市场。这就是它的工作原理。我不认为有任何简单的方法可以根据轨迹来确定方向