0

我正在尝试使用 Cosos2d for Android 框架 (Java) 将我的 iPhone Cocos2d 游戏移植到 Android。

当我从主要活动启动 PreferenceActivity 时遇到问题。这是我的设置:

(1)HelloWordActivity.java:初始化Cocos2d环境,启动GameLayer.scene

(2) Gamelayer.scene:向用户展示游戏,但也有一个按钮来显示从 Gamelayer 类调用的设置窗格,如下所示:

       Intent intent = new Intent(Intent.ACTION_VIEW);
       intent.setClassName(helloworldactivity, ShowSettingsActivity.class.getName());
       helloworldactivity.startActivity(intent);

这显示 Preference Activity 很好,但是当关闭首选项并返回我的游戏时,它似乎没有持续存在(它被重新加载/重新启动并且不保留它的状态)。

如何在不破坏 Cocos2d 中当前游戏会话的情况下向用户呈现标准的 Android 首选项屏幕?

4

2 回答 2

1

从您的课程名称来看,我假设您使用 Dan 的教程作为入门,确保您删除了 dan 的 onStop() 覆盖方法,当您加载首选项并调用时会调用该方法

CCDirector.sharedDirector().end();

删除这个应该为你做

我确实注意到您放弃并切换到 andEngine ,这也是一个不错的引擎,但我想我还是会回答这个

于 2012-02-07T16:04:32.213 回答
1

You need to get the main activity to start new activity, I hope this code will help you

Activity context = CCDirector.sharedDirector().getActivity();
Intent intent = new Intent(Intent.ACTION_VIEW);
       intent.setClassName(helloworldactivity, ShowSettingsActivity.class.getName());
       context.startActivity(intent);
于 2012-06-06T21:41:55.297 回答