Cocos2D 中的缩放问题

发布于 2024-12-28 02:24:03 字数 179 浏览 2 评论 0原文

我正在 cocos2D android 中创建一个游戏。 我的问题是,当应用程序在进入后台后恢复时,我的应用程序图像缩放发生变化,并且所有内容都变得很大,而不是我最初设置的大小。

当我停止这个游戏并重新启动它时,就没有问题了。 这是Cocos2d的问题吗?或者 我应该怎么做才能解决这个问题? 因为我希望我的游戏具有恢复功能。

I am creating a game in cocos2D android.
My problem is when the app resumes after going to background, my app images scaling changes and everything becomes big instead of what I have set initially.

When I stop this game and restart it, then there is no problem.
Is that the problem with Cocos2d? or
what should I do to resolve this problem?
because I want the resume capability in my game.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

没企图 2025-01-04 02:24:03

您是否在启动 cocos2d 场景时在活动中添加了底部方法

@Override
public void onStop() {
    super.onStop();
    CCDirector.sharedDirector().end();
}
@Override
public void onPause() {
    super.onPause();
    CCDirector.sharedDirector().pause();
}
@Override
public void onResume() {
    super.onResume();
    CCDirector.sharedDirector().resume();
}
@Override
public void onDestroy() {
    super.onDestroy();
}
@Override
public void onStart() {
    super.onStart();
    CCDirector.sharedDirector().attachInView(_glSurfaceView);
    CCDirector.sharedDirector().setLandscape(false);
    CCDirector.sharedDirector().setDisplayFPS(true);
    CCDirector.sharedDirector().setAnimationInterval(1.0f / 60);
            scene = GameLayer1.scene();
        CCDirector.sharedDirector().runWithScene(scene);}
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

    Bundle extras = getIntent().getExtras();

    _glSurfaceView = new CCGLSurfaceView(this);
    setContentView(_glSurfaceView);
}

Have you added bottom methods with in you activity from you are starting cocos2d scene

@Override
public void onStop() {
    super.onStop();
    CCDirector.sharedDirector().end();
}
@Override
public void onPause() {
    super.onPause();
    CCDirector.sharedDirector().pause();
}
@Override
public void onResume() {
    super.onResume();
    CCDirector.sharedDirector().resume();
}
@Override
public void onDestroy() {
    super.onDestroy();
}
@Override
public void onStart() {
    super.onStart();
    CCDirector.sharedDirector().attachInView(_glSurfaceView);
    CCDirector.sharedDirector().setLandscape(false);
    CCDirector.sharedDirector().setDisplayFPS(true);
    CCDirector.sharedDirector().setAnimationInterval(1.0f / 60);
            scene = GameLayer1.scene();
        CCDirector.sharedDirector().runWithScene(scene);}
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

    Bundle extras = getIntent().getExtras();

    _glSurfaceView = new CCGLSurfaceView(this);
    setContentView(_glSurfaceView);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文