C# 有人能告诉我为什么这样不行吗?cxna
所以我用这个方法来繁殖怪物,中间有一个时间延迟,问题是这个条件通过了,但它不想访问里面的东西C# 有人能告诉我为什么这样不行吗?cxna,c#,xna,monogame,C#,Xna,Monogame,所以我用这个方法来繁殖怪物,中间有一个时间延迟,问题是这个条件通过了,但它不想访问里面的东西 public void CreateMonsterWave(GameTime gameTime) { spawnDelay += (float)gameTime.ElapsedGameTime.TotalSeconds; if (spawnDelay >= 2f && creepAmountOut < monsterW
public void CreateMonsterWave(GameTime gameTime)
{
spawnDelay += (float)gameTime.ElapsedGameTime.TotalSeconds;
if (spawnDelay >= 2f && creepAmountOut < monsterWave.Length)
{
spawnDelay = 0f;
monsterWave[creepAmountOut] = new WaveMonster(monsterHp, monsterDamage, monsterTex, waveStartPos, path1);
creepAmountOut++;
}
}
//In LoadContent
monsterWave = new WaveMonster[8];
我对编码非常陌生,所以感觉好像我遗漏了一些基本的东西…我会检查if语句的条件,确保spawnDelay大于或等于2f,爬行量小于monsterWave.length。您可以在if语句之前使用messagebox或其他东西来显示此数据,以确保所有计算结果都符合该if语句的真实条件 使用断点查看变量值是否在条件0.01666667中。但是代码有错误吗?你说的条件通过是什么意思?该条件分为两部分。您能确认延迟>=2吗?还有那个毛骨悚然的波浪长度?还有,你说它不想进入里面是什么意思?这是怎么一回事?里面是什么?数组?好的,因为条件从一开始就没有变为真,所以它必须循环直到变为真。但是我的draw方法不能绘制空数组,所以我通过在ScreepaMonOut++后面放置一个布尔来解决它。谢谢你让我意识到了这个问题。抱歉@RufusL我的术语缺乏所有东西都不会立即出现在我的脑海中,我的意思是在if语句中。