最近我补充说,敌人射击,但不幸的是,我不能随机延迟射击的每一个对象。
每秒投射60次:
更新(此处的所有代码都连接到此部件)
画
睡觉
代码片段:
代码片段。
public void createNewEnemyBullet(){
for(Enemy enemy: enemies){
EnemyBullet enemyBullet = new EnemyBullet(getResources());
randomShot = random.nextInt(60-40)+40;
System.out.println("Randomowy shot :"+ randomShot);
enemyBullet.x = (int) (((enemy.x+enemy.widthEnemy/2)-18)*screenRatioX);
enemyBullet.y= enemy.y+20;
enemyBullets.add(enemyBullet);
}
System.out.println("\n\n");
}
我的结果截图
在此处输入图像描述
2条答案
按热度按时间72qzrwbm1#
使用
Math.random()
. 在这里是你的朋友。比较(Math.random() <= epsilon
)输出random()
有一些数字epsilon
你想作为你决定射击敌人的门槛。如果
enemyBullets
是ui代码用来绘制项目符号的,您可能需要添加Thread.sleep(Math.random())
在添加它们时添加可变延迟。umuewwlo2#
产生子弹随机延迟的解决方案是在敌方星际飞船被击中时改变这个延迟。