我是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;