首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AndEngine onCreateScene失败

AndEngine onCreateScene失败
EN

Stack Overflow用户
提问于 2012-07-24 16:04:59
回答 1查看 1.5K关注 0票数 0

我一直收到关于andengine的错误。这是日志。下面是教程中的代码,它给了我错误。

代码语言:javascript
复制
E/AndEngine(28075): BaseActivity.onCreateScene failed. @(Thread: 'GLThread 1450')
E/AndEngine(28075): java.lang.NullPointerException
E/AndEngine(28075):     at com.tegracode.prvaigra.BaseActivity.onCreateScene(BaseActivity.java:61)
E/AndEngine(28075):     at org.andengine.ui.activity.SimpleBaseGameActivity.onCreateScene(SimpleBaseGameActivity.java:48)
E/AndEngine(28075):     at org.andengine.ui.activity.BaseGameActivity$3.onCreateResourcesFinished(BaseGameActivity.java:169)
E/AndEngine(28075):     at org.andengine.ui.activity.SimpleBaseGameActivity.onCreateResources(SimpleBaseGameActivity.java:43)
E/AndEngine(28075):     at org.andengine.ui.activity.BaseGameActivity.onCreateGame(BaseGameActivity.java:181)
E/AndEngine(28075):     at org.andengine.ui.activity.BaseGameActivity.onSurfaceCreated(BaseGameActivity.java:110)
E/AndEngine(28075):     at org.andengine.opengl.view.EngineRenderer.onSurfaceCreated(EngineRenderer.java:80)
E/AndEngine(28075):     at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1446)
E/AndEngine(28075):     at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1216)
D/AndEngine(28075): BaseActivity.onSurfaceChanged(Width=800,  Height=480) @(Thread: 'GLThread 1450')

代码如下:

代码语言:javascript
复制
public class BaseActivity extends SimpleBaseGameActivity  {
    static final int CAMERA_WIDTH = 800;
    static final int CAMERA_HEIGHT = 480;
    public Font mFont;
    public Camera mCamera;
    public Scene mCurrentScene;
    public static BaseActivity instance;

    public EngineOptions onCreateEngineOptions() {
        instance = this;
        mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);

        return new EngineOptions(true, ScreenOrientation.LANDSCAPE_SENSOR, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), mCamera);
    }

    protected void onCreateResources() {
        mFont = FontFactory.create(this.getFontManager(),this.getTextureManager(), 256, 256,Typeface.create(Typeface.DEFAULT, Typeface.BOLD), 32);
        mFont.load();
    }

    protected Scene onCreateScene() {
        mEngine.registerUpdateHandler(new FPSLogger());

        this.mCurrentScene = new Scene();
        this.mCurrentScene.setBackground(new Background(3f, 6f, 2f));

        return this.mCurrentScene;
    }
}
EN

回答 1

Stack Overflow用户

发布于 2012-07-25 03:28:47

移动此行:

This.mCurrentScene.setBackground(新背景(3f,6f,2f));

to onPopulateScene方法。场景在那里应该是非空的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11626637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档