unity3d 在无尽的赛跑游戏中产生钥匙和特定的门

9q78igpj  于 2022-12-30  发布在  其他
关注(0)|答案(2)|浏览(160)

目前正在开发无尽的跑步者游戏,你必须躲避障碍,偶尔,一个关键将产卵,你必须选择哪个门属于你刚刚获得的关键。
我的问题是,我不知道如何产卵的关键,也确保至少有1门,可以打开使用的关键是产卵夫妇的距离后,关键产卵点。
请帮助我,因为我已经达到了死胡同在这里,我不太擅长游戏开发添加一堆代码随机,因为我担心我会使它变得更糟。
This is the key and door system that I made. You can only open the door based on the key(capsule) you collect. For example, red capsule to open red door.
This is my current game, simple straight line while avoiding obstacles. But once in a while, I would like to spawn keys and doors instead of obstacles.

cclgggtu

cclgggtu1#

每当你产生一扇门(玩家将来会遇到),你也会在玩家和那扇门之间产生一把钥匙。确保在玩家到达“边缘”之前创建你的迷宫,不要在门旁边或玩家旁边产生钥匙。
在统一游戏中,你通常希望在玩家能看到的方块旁边生成所有方块。如果你的玩家能看到的距离等于方块的一边,你需要确保玩家走进去的方块旁边的所有方块都已经生成。在这种情况下,我建议你也在这些方块之外生成方块。在一个“遥远”的方块上放置一扇门,在最近产生的方块上放置一把钥匙(玩家刚刚可以开始看到)。
这有一个缺点-玩家将能够预测在什么方向的门将(大约)当玩家找到钥匙。
如果你生成了完整的Map,你可以根据自己的喜好生成钥匙和门--玩家将能够找到一扇门而没有钥匙,稍后找到钥匙并记住(或不记得)玩家在哪里找到了门。
你建立的系统看起来很好。

y1aodyip

y1aodyip2#

如果您将密钥制作成预制件,则可以将具有ID的脚本附加到预制件

public class Key: MonoBehaviour
{
public int _ID = 0;
}

你可以在创建之前更改每个预制件的ID,当你检查钥匙是否与门匹配时,你检查ID
你可以示例化预制件来产生它们

instantiate(prefab,position,Quaternion.identity)

根据生成门和钥匙的逻辑,您可以跟踪已经生成的id并从那里开始

相关问题