Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:MenuScene和AndEngine_Java_Android_Andengine - Fatal编程技术网

Java Android:MenuScene和AndEngine

Java Android:MenuScene和AndEngine,java,android,andengine,Java,Android,Andengine,我是AndEngine的新手,我正在尝试创建一个带有菜单的场景,菜单中只有一个按钮项,它只包含一个标签 这是密码 public class TestActivity extends SimpleBaseGameActivity implements IOnMenuItemClickListener { static final int CAMERA_WIDTH = 800; static final int CAMERA_HEIGHT = 480; Camera mCam

我是AndEngine的新手,我正在尝试创建一个带有菜单的场景,菜单中只有一个按钮项,它只包含一个标签

这是密码

public class TestActivity extends SimpleBaseGameActivity implements IOnMenuItemClickListener
{
    static final int CAMERA_WIDTH = 800;
    static final int CAMERA_HEIGHT = 480;
    Camera mCamera;
    @Override
    public EngineOptions onCreateEngineOptions()
    {
        mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
        return new EngineOptions(true,
                                 ScreenOrientation.LANDSCAPE_SENSOR,
                                 new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT),
                                 mCamera);
    }

    @Override
    protected void onCreateResources()
    {
        // TODO Auto-generated method stub
    }

    @Override
    protected Scene onCreateScene()
    {
        //Scene scene = new Scene();
        //scene.setBackground(new Background(0.09804f, 0.6274f, 0));
        //Entity layer = new Entity();
        //scene.attachChild(layer);

        Font mFont = FontFactory.create(this.getFontManager(),
                                        this.getTextureManager(),
                                        256, 256,
                                        Typeface.create(Typeface.DEFAULT, Typeface.BOLD),
                                        32);
        mFont.load();

        //Text centerText = new Text(100, 40, mFont, "Hello AndEngine!\nYou can even have multilined text!", new TextOptions(HorizontalAlign.CENTER), this.getVertexBufferObjectManager());
        //layer.attachChild(centerText);

        TextMenuItem playText = new TextMenuItem(1, mFont, "TEXT_TO_DISPLAY",
                                                 this.getVertexBufferObjectManager());
        MenuScene ms = new MenuScene(); 
        ms.addMenuItem(playText);
        ms.setBackground(new Background(0.09804f, 0.6274f, 0));
        //ms.buildAnimations();
        //ms.setBackgroundEnabled(false);

        ms.setOnMenuItemClickListener(this);
        //scene.attachChild(ms);

        return ms;
    }

    @Override
    public boolean onMenuItemClicked(MenuScene pMenuScene, IMenuItem pMenuItem,
                                     float pMenuItemLocalX, float pMenuItemLocalY)
    {
        // TODO Auto-generated method stub
        return false;
    }
}
应用程序崩溃了,我不知道如何修复它

这是日志cat堆栈跟踪

11-09 07:57:17.670: E/dalvikvm(3960): GC_EXPLICIT freed 186K, 42% free 8192K/13955K, paused 21ms+64ms, total 212ms
11-09 07:57:17.900: E/dalvikvm(3960): GC_EXPLICIT freed 68K, 42% free 8172K/13955K, paused 118ms+33ms, total 179ms
11-09 07:57:17.910: W/dalvikvm(3960): threadid=13: thread exiting with uncaught exception (group=0x4187c438)

我注意到,如果我取消buildAnimations()的注释,在AndEngine中会出现空指针异常,
MenuScene
扩展了
CameraScene
,为了使
CameraScene
正常工作,它需要对摄影机对象的引用

如果使用默认构造函数创建MenuScene对象,则需要先设置摄影机对象(通过
setCamera()
方法),然后再启动场景更新(这将需要有效的摄影机对象)。
或者您可以直接使用其他具有Camera参数的构造函数。

在AndEngine中,
MenuScene
扩展了
CameraScene
,为了使
CameraScene
正常工作,它需要对Camera对象的引用

如果使用默认构造函数创建MenuScene对象,则需要先设置摄影机对象(通过
setCamera()
方法),然后再启动场景更新(这将需要有效的摄影机对象)。
或者您可以直接使用其他具有Camera参数的构造函数。

请在logcat.logcat info中显示堆栈跟踪,然后我们可以深入研究问题。在您的代码中,您只使用类
MenuScene
的默认构造函数,并且您没有将摄影机与之关联(使用
setCamera()
)。或者您可以尝试使用
MenuScene
的其他构造函数。非常感谢!如果您发布答案,我很乐意接受它在logcat.logcat info中显示堆栈跟踪,那么我们可能会深入研究这个问题。在您的代码中,您只使用类
MenuScene
的默认构造函数,并且您没有将摄影机与之关联(使用
setCamera()
)。或者您可以尝试使用
MenuScene
的其他构造函数。非常感谢!如果你把答案贴出来,我很乐意接受