【发布时间】:2019-01-10 13:50:06
【问题描述】:
我正在尝试创建一个单词从屏幕顶部掉下来的文字输入游戏。我已使用here 提供的代码开始使用:
在 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);
}
【问题讨论】:
-
您的预期行为是什么,您得到的实际行为是什么? 我认为是因为上面的 SpawnWord() 方法有一个返回类型,然后这个函数在一个单独的文件“WordManager”中被调用。不,这没有任何关联。
-
@Immorality,我希望这种行为在一个叫做 z-type 的游戏中是这样的。现在它只是开始产生大量单词而没有产生任何波。