1

ゲームのさまざまな種類のボスのさまざまな内部クラスを含むBossという名前のクラスがあります。Boss クラスのメソッドgetBoss()を使用して、現在の実行レベルに従って適切な Boss クラス オブジェクトを取得するMainクラスがあります。

つまり、レベル = 1 の場合、「レベル 1 のボス」がゲームに登場します。ボスクラスレベル変数を使用して内部ボスクラスを選択します。これは私がやろうとしていることですが、問題はgetBoss()が Boss の内部クラスのオブジェクトを返すように作られていることです

Class Boss extends Sprite{
 public static Level3Boss l3;
 public static Level1Boss l1;
 public stati  Level2Boss l2;

 //Constructor
 public Boss(int level){
  if(level == 1){
    l1 = new Level1Boss();
     }
  else if(level = 2){
    l2 = new Level2Boss();
   }else{
    l3 = new Level3Boss();
   }
 }

 Class Level1Boss extends Sprite{
   //XYZ Propeties of this boss
  }

 Class Level2Boss extends Sprite{
   //XYZ Propeties of this boss
 }

 Class Level3Boss extends Sprite{
   //XYZ Propeties of this boss
   }

   public /*What to type here*/ getBoss(){
        if(level == 1){
         return l1;
       }
      else if(level = 2){
        return l2;
       }else{
        return l3;
      }
    }

}

したがって、return_type の場所に何を書き込むかが混乱します。

  1.Level1Boss for ex: public Level1Boss getBoss(){}

   2.Level2Boss for ex: public Level2Boss getBoss(){}

   3.Level3Boss for ex: public Level2Boss getBoss(){}

  4.or something else ?

getBoss() メソッドから異なるクラスのこの 3 つのオブジェクトのいずれかを返す方法はありますか

return_type "Object"を試したもう1つのことは機能しますが、画像の設定とフルスクリーンウィンドウでの描画には使用できません。

よろしくお願いします

4

8 に答える 8

0

最終ページで宣言し、次のように関数名を直接呼び出します。

public static Level3Boss l3;
public static Level1Boss l1;
public static  Level2Boss l2;


    Level3Boss= Boss.Getl3();
    Level1Boss= Boss.Getl1();
    Level2Boss= Boss.Getl2();
于 2013-06-04T12:12:05.590 に答える