1

ボタンタップで新しいシーンを開く必要があります。onAreaTouchedメソッドを使用している場合は、次のコードを使用します。

PlayBtn = new Sprite(200,35, 200,150,this.playTextureRegion){

         @Override
         public boolean onAreaTouched(final TouchEvent mmSceneTouchEvent, final float mmTouchAreaLocalX, final float mmTouchAreaLocalY){

             switch(mmSceneTouchEvent.getAction()) {

                case TouchEvent.ACTION_DOWN:
                    playBtn = true; 
                    this.mEngine.setScene(gamePlay());  
                    break;
                case TouchEvent.ACTION_MOVE:
                    break;
                case TouchEvent.ACTION_UP:
                    playBtn = false;                                
                    this.mEngine.setScene(gamePlay());                  
                    break;

             }               

            return true;

         }           

     }; 

しかし、ここでthis.mEngine.setScene(gamePlay());は、線はコンパイラーによって取得されません。赤いマークとしてエラーが表示されます。ですから、どんなアイデアでも私を大いに助けてくれます。ありがとう。

4

2 に答える 2

0

このリンクは、単一のアクティビティでシーンを管理する方法について、より多くのガイダンスを提供すると思います。 https://sites.google.com/site/matimdevelopment/creating-and-managing-scenes

于 2012-06-23T06:09:06.170 に答える
0

「gamePlay()」というメソッドを呼び出しているようです。むしろ、シーンを呼び出す必要があります。つまり、gamePlay() メソッド内で新しい Scene を宣言し、それを呼び出します。以下の例。

// Your Method called gamePlay()
public void gamePlay(){

myNewScene = new Scene();

// Set up your scene here. Background, Sprites, Text etc.

}

// playBtn を押すと、ここで Scene を myNewScene に変更します

playBtn = new Sprite(200,35, 200,150,this.playTextureRegion){

         @Override
         public boolean onAreaTouched(final TouchEvent mmSceneTouchEvent, final float mmTouchAreaLocalX, final float mmTouchAreaLocalY){

             switch(mmSceneTouchEvent.getAction()) {

                case TouchEvent.ACTION_DOWN:
                    playBtn = true; 
                    this.mEngine.setScene(myNewScene);  
                    break;
                case TouchEvent.ACTION_MOVE:
                    break;
                case TouchEvent.ACTION_UP:
                    playBtn = false;                                
                    this.mEngine.setScene(myNewScene);                  
                    break;

             }               

            return true;

         }           

     }; 
于 2013-04-04T16:13:56.610 に答える