【发布时间】:2012-04-23 14:54:27
【问题描述】:
我正在用 C# 和 XNA 为 windows phone 创建一个 2d 侧滚动(有点)游戏。
我有一个角色动画,使它看起来像精灵在移动,但是背景和敌人是唯一移动的东西。 我已经为敌人加载了纹理,屏幕上的位置是静态的,这很好。 但我的问题是,我想随机生成这些敌人。 我已经设置了一个随机数生成器、一个 int 和几个 TimeSpan 变量。
这是我放在 UpdateEnemies 方法中的代码。
注意:在更新中,我打电话给UpdateEnemies(gameTime);
random = new Random();
spawnSeconds = random.Next(1, 6);
enemySpawnTime = TimeSpan.FromSeconds(spawnSeconds);
if (gameTime.TotalGameTime - previousSpawnTime > enemySpawnTime)
{
previousSpawnTime = gameTime.TotalGameTime;
// Add an Enemy
AddEnemy();
}
我在这里遇到了一个问题,因为生成的敌人不是随机的。对于特定的运行,它们以相同的间隔生成。
我使用了断点,spawnSeconds 和 enemySpawnTime 每次更新都很好,但仍然是这个问题。
任何帮助将不胜感激。
【问题讨论】:
-
我建议你的 spawnSeconds +enemySpawnTime 最好把它放在生成条件中,然后你只设置一次随机数。否则,你每帧都调用它。
-
随机生成一个字段,例如私人随机 rand = new Random();
-
lukas - 我将它设置在顶部作为随机随机但你不能在那里初始化它所以我正在这样做,目前,在初始化方法中。 @BugFinder - 我不完全确定你的意思?
标签: c# windows-phone-7 random xna