Как использовать активность в cocos2d-android?

В настоящее время я работаю над проектом cocos2d-android, в котором взаимодействие между спрайтом выполняется с использованием "сцен", не использующих XML-файлы, поэтому теперь для выполнения некоторых других задач я использую XML-файлы макета в onTouch кнопки. ниже приведен код для замены сцены на onTouch кнопки, так как сцена не была использована, какую логику я должен использовать здесь? Я много искал, не мог найти решение. Помогите мне, пожалуйста.

public void callbackGameLayer(Object sender) {
    //Global.playSoundEffect(R.raw.button);
    CCScene scene = CCScene.node();
    scene.addChild(new GameLayer(), -1);
    CCDirector.sharedDirector().replaceScene(scene);

}

это деятельность, к которой должен идти поток

public class IntermediateMain extends Activity {

protected CCGLSurfaceView mGlSurfaceView;
private static int MAX_GAME_TIME_SECONDS = 300;

/** Called when the activity is first created. */


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);

    // get full screen setup and keep screen bright and on when the window
    // is visible
    getWindow().setFlags(
            WindowManager.LayoutParams.FLAG_FULLSCREEN
                    | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,
            WindowManager.LayoutParams.FLAG_FULLSCREEN
                    | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);


    mGlSurfaceView = new CCGLSurfaceView(this);
    setContentView(R.layout.main);  

    final Button newGame = (Button) findViewById(R.id.start_game_btn);
    final TextView numSecondsTextView = (TextView) findViewById(R.id.num_seconds_text_view);
    final TextView numSacksTextView = (TextView) findViewById(R.id.num_sacks_text_view);
    OnSeekBarChangeListener changeListener = new OnSeekBarChangeListener() {

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
        }

        @Override
        public void onProgressChanged(SeekBar seekBar, int progress,
                boolean fromUser) {
            int currentGameTimeInSeconds = (progress * MAX_GAME_TIME_SECONDS) / 100;
            numSecondsTextView.setText(Integer
                    .toString(currentGameTimeInSeconds));
            numSacksTextView.setText(Integer.toString(IntermediateGameLayer
                    .numSacksInGame(currentGameTimeInSeconds)));
            newGame.setEnabled(currentGameTimeInSeconds > 0);
        }
    };

2 ответа

Чтобы переключиться на другое действие в Android, вам нужно отправить вызов с cocos2d-x (C++) на текущее действие Android с помощью кода JNI. А затем начните новую деятельность там. Игра cocos2d-x остановится, когда вы переключитесь на другое занятие.

Я думаю, что вы пошли в неверном направлении, потому что у меня такое же намерение, как и раньше, но после ряда исследований я обнаружил, что: API-интерфейс cocos2d-x для Android - это всего лишь оболочка для правильной работы на устройстве Android. Основным языком разработки по-прежнему является C++ для переносимости. Вот пример из Space Game, поддерживающий мою мысль.

Другие вопросы по тегам