在GameScene中使用Accelerometer进行AndEngine问题

时间:2013-06-25 17:48:59

标签: box2d andengine accelerometer

我是AndEngine和Android开发的新手。

所以这是我的问题:我在这个网站上遵循完整游戏教程第1部分: http://www.matim-dev.com/full-game-tuto ... art-1.html 也许你们中的一些人都知道。我们有一个GameActivity扩展了BaseGameActivity,这是游戏的主要类,我们还有一个扩展BaseGameActivity的GameScene。

现在我想实现AndEngine示例中来自PhysicsJumpExample.java的代码,以了解它是如何工作的。 一切都工作得很好,除了加速部分,因为据我所知,我需要扩展BaseGameActivity来做到这一点:this.enableAccelerationSensor(this);

但是如何让Acceleration在GameScene中运行呢?我尝试了不同的方法,但没有任何作用:(精灵停留在屏幕上。

有人可以帮助/告诉我如何在那里实现这个吗?

编辑:

首先,我在AndEngine Exmaples和Tutorials的帮助下做了一些编码。但只有一项活动可以管理所有事情,所以不是很好。

[https://dl.dropboxusercontent.com/u/12628048/Activity.java] [1]

这完全没问题!但后来我想把它放在更好的结构中。 我找到了这方面的教程,然后一直到第10章:http://www.matim-dev.com/full-game-tutorial---part-1.html 而现在我不得不处理加速度计:

  public class GameActivity extends BaseGameActivity implements IAccelerationListener
  {

    private Camera camera;

    public static GameActivity instance;

    public PhysicsWorld mPhysicsWorld;

    @Override
    public EngineOptions onCreateEngineOptions() 
    {
        camera = new Camera(0, 0, 768, 1280);
        EngineOptions engineOptions = new EngineOptions(true, 
                                                        ScreenOrientation.PORTRAIT_FIXED,
                                                        new RatioResolutionPolicy(768, 1280),                                                      
                                                        this.camera);

        engineOptions.getAudioOptions().setNeedsMusic(true).setNeedsSound(true);
        engineOptions.setWakeLockOptions(WakeLockOptions.SCREEN_ON);

        mPhysicsWorld = new PhysicsWorld(new Vector2(0, SensorManager.GRAVITY_EARTH), false); 

        return engineOptions;
    }
  }

我在那里创建了PhysicsWorld,并且也在那里启用了Accelerometer。

我在方法createPhysics()中在我的GameScene中调用了这个,但不知怎的,我创建的Object仍然停留在屏幕上而根本没有移动。

mPhysicsWorld = GameActivity.getSharedInstance().mPhysicsWorld;

0 个答案:

没有答案