首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无限道路更新

无限道路更新
EN

Stack Overflow用户
提问于 2015-03-30 22:00:01
回答 2查看 2K关注 0票数 0

我在联合公司工作了一个月。我是新的团结和C#,在团结之前,我工作的其他游戏引擎。无论我做的是无限运行游戏,我都写了随机道路生成器。道路发电机运行良好,但我有更新道路的问题。我可以这样手动更新道路。如何自动更新?

代码语言:javascript
复制
void Update()
{
     if(Input.GetKeyDown(KeyCode.A)) UpdateRoad();
}

我的UpdateRoad方法添加这样的路(我使用对象池)。

我想更新后,林克路,OnExitTrigger或什么我不知道。我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-30 22:19:50

您需要实现对象池。

我建议您先设计对象,这样您就可以进行测试了。或者如果不使用,库存块原语的Unity3D作为您的预制。我希望你已经知道预制板了。这是制造无限流道的主要关键。实际上是制作任何游戏的主要核心。

预制板是一个对象文件,您可以在其中实例化它的一个位置。因此,假设您将生成一个可步行的平台,然后生成一个Pit。你可能会想把它们堆在一起。

现在产生它们很容易。你不想在更新中去吗?方法,因为您很可能不会更新,但是您将根据您的游戏逻辑,进一步堆栈前面正在发生的事情。

为了进一步理解这一点,Unity3D已经做了一个项目或详细的教程。它可能是2D的,但它将是相同的,如果你要将Collider2D改为Collider <-这在你的情况下是很重要的。

https://unity3d.com/learn/tutorials/modules/beginner/live-training-archive/infinite-runner

更新

您需要创建一个不可见的对象。意味着触发。然后在触发时调用您的方法UpdateRoad();

https://unity3d.com/learn/tutorials/modules/beginner/physics/colliders-as-triggers

关于触发器的详细视频。

票数 1
EN

Stack Overflow用户

发布于 2019-11-05 19:22:40

如果我正确理解了您的需求,您可以创建空对象名为SpawnPoint,根据需要设置产卵点的位置(在摄像机视图之外),然后是Instanciate随机预制板的道路。有关TriggerExit -它可以用来摧毁“旧的道路”。但是要让它正常工作,不要忘记在你的物体上设置对撞机和刚体。不要添加collider2D或Rigitbody2d,添加和使用Box对撞机和Rigitbody组件

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

https://stackoverflow.com/questions/29357111

复制
相关文章

相似问题

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