首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止用户在3D游戏中掉头逆行

如何防止用户在3D游戏中掉头逆行
EN

Stack Overflow用户
提问于 2012-04-18 07:01:53
回答 2查看 254关注 0票数 1

我正在用Flare3D制作一个闪光灯的3D游戏,我有一个轨道,其中包括长的直线部分和短的弯曲部分的轨道。球员可以自由驾驶他们的赛车,但我需要能够防止他们掉头并在赛道上倒车。

你有什么办法做到这一点吗?

EN

回答 2

Stack Overflow用户

发布于 2012-04-18 07:10:26

我不知道AS3语法,但一般的想法是定义每个段(至少是直线段)的行进方向和一个可接受的偏差。然后,如果玩家的方向落在偏差之外,那么你可以让他们回到赛道上,或者让他们崩溃,或者做任何你想要的事情。

示例:

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

票数 4
EN

Stack Overflow用户

发布于 2012-04-18 07:16:22

要做到这一点,一种方法是对轨迹进行分段,对于轨迹的每个分段,都有一个面向它的方向(就像boo所说的那样),因此如果该轨迹面向北,即0/360,则该轨迹中的分段在该点上将为0。在他们做了第一个转弯后,假设向右是90分,那么在那个点上的赛道的值就是90。

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

这假设您跟踪他们当前所在的细分市场,并且前面只有一个细分市场。如果赛道有选择,你可能不得不采用它。

另外,

如果他们试图让车慢慢掉头,我会同意阿布的观点。检查汽车在道路上的角度,只允许这么大的变化,也许可以添加一个声音,强制他们已经把轮子转到它要去的地方,这样他们就能理解为什么它不再转了。

如果他们尝试的时候速度很快,我会添加一个碰撞动画,然后将他们的车重新设置到正轨上。用户将学会避免面对错误的方向,因为当你这样做时,它会崩溃。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10200450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档