在Android Studio中随机创建敌人
我正在制作我的第一个android游戏,我想每三秒创建一个随机的敌人,我有六个敌人,但我的代码不起作用 我不知道我遗漏了什么或做错了什么,我在在Android Studio中随机创建敌人,android,random,Android,Random,我正在制作我的第一个android游戏,我想每三秒创建一个随机的敌人,我有六个敌人,但我的代码不起作用 我不知道我遗漏了什么或做错了什么,我在(rand==0)和(rand==1)下面有一条红线 请帮忙 我正在使用的代码: if (EnemyElapsed > (2000-alien.getScore()/4)){ switch ((int) (rand.nextDouble() * (2))) { if(rand == 0){ enemy.
(rand==0)
和(rand==1)
下面有一条红线
请帮忙
我正在使用的代码:
if (EnemyElapsed > (2000-alien.getScore()/4)){
switch ((int) (rand.nextDouble() * (2))) {
if(rand == 0){
enemy.add(new Enemy(BitmapFactory.decodeResource(getResources(), R.drawable.dog), WIDTH + 10,60, 250, 250, alien.getScore(), 2));
enemyStartTime = System.nanoTime();
}
else if(rand == 1){
enemy.add(new Enemy(BitmapFactory.decodeResource(getResources(), R.drawable.aalien), WIDTH + 10,60, 250, 250, alien.getScore(), 2));
enemyStartTime = System.nanoTime();
}
}
}
你的问题:
rand
是一个对象,不能将其与int
进行比较
这就是为什么在(rand==0)
和(rand==1)
下面有红线的原因
解决方案: 必须使用case而不是if/else块
if (EnemyElapsed > (2000-alien.getScore()/4)){
switch ((int) (rand.nextDouble() * (2))) {
case 0:
enemy.add(new Enemy(BitmapFactory.decodeResource(getResources(), R.drawable.dog), WIDTH + 10,60, 250, 250, alien.getScore(), 2));
enemyStartTime = System.nanoTime();
break;
case 1:
enemy.add(new Enemy(BitmapFactory.decodeResource(getResources(), R.drawable.aalien), WIDTH + 10,60, 250, 250, alien.getScore(), 2));
enemyStartTime = System.nanoTime();
break;
}
}
将鼠标悬停在红线上方,查看错误消息,修复错误。您需要查看开关如何工作。它工作正常,谢谢,没有红线,但它会随机显示吗??