所以在我的游戏中,我想制作由五面墙组成的tunel,每个墙都可以移动,但它们与关节连接。我希望水平是无限的,但我不知道如何做到这一点。我想最好的方法是在玩家向前移动的同时添加tunel的另一部分,但如果有经验的人帮助我,那将是很好的。另一件事是随机地在墙壁(平面)上放置障碍物。有没有办法将障碍物作为墙的一个孩子放置在相对于它的墙上((0,0,0)是否在墙的中心)?如果我没有清楚地解释一切,请告诉我。
答案 0 :(得分:0)
当然有可能。例如,您可能只有3个隧道段:
(P)
1 - 2 - 3
玩家在第2段中。如果他们向前移动到3,你只需在结尾处剪掉1并在3之后附加一个新的第4段。
(P)
2 - 3 - 4
当然,当玩家从3回到2时,你可以做同样的事情,只需再次关闭4并附加1到2。
您的细分受众群可能完全相同或完全不同,这取决于您。即使段是相同的,您仍然可以有变化。他们可能有随机装饰的占位符,或项目产生,怪物产卵等等。这些占位符是否实际填充可以由一个公式决定,该公式保证是随机的,同时仍然总是为特定段中的特定占位符返回相同的结果:
假设所有段都相同并且有5个占位符可以从装饰(1),项目(2),怪物(3)或任何东西(0)中产生任何东西。决定产生什么的公式可能如下所示:
int GetPlaceholderContent(int segment, int placeholder)
{
System.Random random = new System.Random(segment * 1024 + placeholder);
return random.Next(0, 4);
}
void FillPlaceholder(int segment, int placeholder)
{
switch (GetPlaceholderContent(segment, placeholder))
{
case 0: /* FillWithNothing */ break;
case 1: /* FillWithDecoration */ break;
case 2: /* FillWithItem */ break;
case 3: /* FillWithMonster */ break;
}
}
希望这能为你提供一个起点。