繁体   English   中英

Wave Spawner和Wave Number用于打字游戏

[英]Wave spawner and wave number for typing game

我正在尝试创建一个单词输入游戏,其中单词从屏幕顶部掉下来。 我已使用此处提供的代码开始使用:

在WordSpawner.cs文件中,我希望这些单词以波浪形式生成,例如第一个波浪将包含2个单词,并且正确键入后,下一个波浪将在大约5秒钟的延迟后开始,并且将包含3个单词,依此类推上。 单词的数量应在每一波中增加1,并且在玩家存活时会继续这样做。

一旦一个波形完成,将在等待时间内显示一个波形编号,然后下一个波形开始。

这是单词spawner的脚本:

public GameObject wordPrefab; 
public Transform wordCanvas; 

public WordDisplay SpawnWord () {

  Vector3 randomPosition = new Vector3(Random.Range(-2.5f, 2.5f), 7f); 
  GameObject wordObj=Instantiate(wordPrefab, randomPosition,Quaternion.identity, wordCanvas); 
  WordDisplay wordDisplay = wordObj.GetComponent<WordDisplay>(); 
  return wordDisplay;
  } 

我曾尝试跟随官方的统一太空射击游戏来催生敌人,但我无法使其正常工作。 我认为是因为上面的SpawnWord()方法具有返回类型,然后在单独的文件“ WordManager”中调用此函数。 此脚本来自单词管理器文件:

public class WordManager : MonoBehaviour {

public List<Word> words;// list of 50 words 

public WordSpawner wordSpawner;

private bool hasActiveWord;
private Word activeWord;

public void AddWord ()
{
    Word word = new Word(WordGenerator.GetRandomWord(), wordSpawner.SpawnWord()); // this is where the SpawnWord() is called
    words.Add(word);
}

假设您的问题是如何使“ spawner”一词发挥作用,我将执行以下操作:

该问题可分为3部分:1)跟踪玩家输入所有需要的单词的时间。 2)运行计时器以延迟下一波的开始。 3)产生单词。

看起来您已经有了“生成和删除”这个词,因此在第二部分中,我将重点介绍游戏状态。

现在对我们来说幸运的是,Unity为我们提供了更新功能,它将在每一帧运行。 从这里开始,我们需要做的两件事是检查列表中有多少个活动单词,并且我们需要一个计时器来跟踪波形之间的延迟。

为了做到这一点,您需要在Update函数中运行一些代码,以检查列表是否为空,并检查计时器是否已过期(即两次波形之间的延迟)。 从那里,如果您发现波动结束并且计时器到期的情况,请调用函数以产生新的波动词。

而且,如果要增加每个wave生成的数量,请保留一个每次运行wave时都会增加的类整数,并将其作为要生成多少个单词的参数提供。

如果我不清楚,请告诉我,我会尽力解释。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM