繁体   English   中英

如何使用Startactivity并将调用的Cocos2d Layer保持活动状态(Android / Java)?

[英]How do I use Startactivity and leave the calling Cocos2d Layer active (Android/Java)?

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

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

(1)HelloWordActivity.java:进入Cocos2d环境并启动GameLayer.scene

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

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

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

如何在不破坏Cocos2d当前游戏会话的情况下向用户显示标准的Android偏好设置屏幕?

您需要获取主要活动才能开始新活动,我希望此代码可以帮助您

Activity context = CCDirector.sharedDirector().getActivity();
Intent intent = new Intent(Intent.ACTION_VIEW);
       intent.setClassName(helloworldactivity, ShowSettingsActivity.class.getName());
       context.startActivity(intent);

从您的类的名称,我假设您使用Dan的教程作为启动器,确保删除dan的onStop()覆盖方法,当您加载首选项并调用它时调用

CCDirector.sharedDirector().end();

删除它应该为你做

我注意到你放弃了并切换到了引擎,这也是一个不错的引擎,但我想我还是会回答这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM