ゲーム内の画像に問題があります。先生が作成した ImageLoader クラスを使用しています。次のように 2 つの Image 変数を作成します。
private static Image healthPic = ImageLoader.loadCompatibleImage("Health.gif");
private static Image enemyRocket = ImageLoader.loadCompatibleImage("EnemyShip2Rocket.png");;
ヘルス パワーアップを作成するには、arraylist を使用し、次のコードを使用して入力します。
if (frameCount % 951 == 0){
Random r = new Random();
int randX = r.nextInt(width - 20)+10;
healthP.add(new GameObject(randX, -400, 20,20,healthPic,8,0));
}
energyWH は、幅と高さの両方に使用される 1 つの変数です。これは 35 に等しいです。このコードを使用して、敵のロケット配列リストを作成します。
if (frameCount % 300 == 0){
for (int i = army.size()-1;i>=0;i--){
EnemyShip curEnemy = army.get(i);
rocketP.add(new GameObject(curEnemy.getR().x, curEnemy.getR().y, 20,20, enemyRocket,5,d));
}
}
20 と 20 は幅と高さ、x と y は敵がその正確な位置と時間にいる場所、environmentRocket は画像変数、5 は ySpeed (敵が画面を下に移動する速さ)、d はプレイヤーシップに与えるダメージ。私の問題は、ゲームがランダムに進行するにつれて、敵がすべてロケットを発射してから約 1 秒後に、ロケットに関連付けられている画像変数が突然ヘルス パワーアップの画像に切り替わるため、ヘルス パワーアップが近づいているように見えることです。 、しかし、それは本当に敵のロケットです。写真はロケットからヘルスパワーアップに切り替え中