如何随机移动对象的延迟

au9on6nz  于 2021-07-06  发布在  Java
关注(0)|答案(2)|浏览(250)

最近我补充说,敌人射击,但不幸的是,我不能随机延迟射击的每一个对象。
每秒投射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");
}

我的结果截图

在此处输入图像描述

72qzrwbm

72qzrwbm1#

使用 Math.random() . 在这里是你的朋友。比较( Math.random() <= epsilon )输出 random() 有一些数字 epsilon 你想作为你决定射击敌人的门槛。
如果 enemyBullets 是ui代码用来绘制项目符号的,您可能需要添加 Thread.sleep(Math.random()) 在添加它们时添加可变延迟。

umuewwlo

umuewwlo2#

产生子弹随机延迟的解决方案是在敌方星际飞船被击中时改变这个延迟。

相关问题