我在 andengine 制作了一款赛车游戏.小车通过MoveModifier()进行移动。小车同时也是dynamicBody。但是小车在移动时其dynamicBody特性正在丢失。
(enemy1=car)
Sprite enemy1=new Sprite(0,0,this.enemyRegion1);
enemy1.registerEntityModifier(
(IEntityModifier) new SequenceEntityModifier (
new MoveModifier(10, enemy1.getX(), enemy1.getX()+400,
enemy1.getY(), enemy1.getY())));
final Vector2 velocity = Vector2Pool.obtain(5, 5);
final FixtureDef enemyFixtureDef1 = PhysicsFactory.createFixtureDef(0, 0, 0);
this.enemyBody1 = PhysicsFactory.createBoxBody(this.mPhysicsWorld, enemy1, BodyType.DynamicBody, enemyFixtureDef1);
this.enemyBody1.setLinearVelocity(velocity);
Vector2Pool.recycle(velocity);
this.mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(enemy1, this.enemyBody1, true, false));
this.scene.attachChild(enemy1);
最佳答案
您无法使用 MoveModifier 移动物理体,它仅适用于没有PhysicsConnector 的 Sprite。连接只有一种方式,从 Box2D 引擎到在其之上工作的 AndEngine。您必须根据物理原理来管理汽车运动,并且 Sprite 将跟随车身。反之则不然。
关于android - 在 Andengine 中移动 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10769912/