我尝试使用Andengine开发一款简单的Android游戏。但我无法找到如何编码触摸事件部分。我想将汽车的图像向右和向左移动。我到处寻找,但无法找到答案。
这是我的代码
private void loadGfx() {
// TODO Auto-generated method stub
BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/"); // give the path of image folder
bitmapTextureAtlas = new BitmapTextureAtlas(getTextureManager(), 256, 256);// create a bit map to hold the picture and give size according to the image
iTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(bitmapTextureAtlas, this, "usercar.png", 0,0);
bitmapTextureAtlas.load();
}
* 这个方法我已经加载了汽车图像,我在onCreateResources方法中调用了这个方法
** 我尝试了这段代码,但没有为我工作
public void onPopulateScene(Scene pScene,
OnPopulateSceneCallback pOnPopulateSceneCallback) throws Exception {
// TODO Auto-generated method stub
//now set the x,y coordination of the image to display the right position we want
sPlayer = new Sprite(500,350,iTextureRegion,this.mEngine.getVertexBufferObjectManager()){ // user's car x,y
// touch event for user's car
public boolean onAreaTouched(org.andengine.input.touch.TouchEvent pSceneTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY)
{
this.setPosition(this.getX() + 10 , this.getY() + 10);
return true;
};
};
//touch ----------------------------------------------------------
scene.setTouchAreaBindingOnActionDownEnabled(true);
scene.registerTouchArea(sPlayer);
//-----------------------------------------------------------------
this.scene.attachChild(sPlayer);
final FixtureDef PLAYER_FIX = PhysicsFactory.createFixtureDef(10.0f, 1.0f, 0.0f);
Body body = PhysicsFactory.createBoxBody(pWorld, sPlayer, BodyType.DynamicBody, PLAYER_FIX);
pWorld.registerPhysicsConnector(new PhysicsConnector(sPlayer,body,true,false));
pOnPopulateSceneCallback.onPopulateSceneFinished();
}
然而,我想要做的是,根据用户的触摸移动汽车图像。用户应该能够将汽车图像向左和向右拖动。有人可以帮助我!
答案 0 :(得分:0)
我无法发表评论,这就是我发帖的原因。 试着评论这段代码
scene.setTouchAreaBindingOnActionDownEnabled(true);
希望它对你有用。