我正在制作一个游戏,我需要大约 50 个小虫子从各个方向进入场景。我希望他们在屏幕上随机移动,但似乎不可能。似乎如果我使用 MoveModifier,我必须为每个精灵提供一个结束位置。有什么方法可以在不使用移动修饰符的情况下做到这一点。我不熟悉 box 2d 扩展,但我看到很多人通过将精灵附加到物理实体来使用它来移动精灵。我是否需要这个扩展我不清楚。我还需要精灵来检测它们自己和其他动画精灵之间的碰撞检测。我怎么能做到这一点我不太清楚。请帮忙。以下是我的代码.. 看起来对吗
private Runnable mStartMosq = new Runnable() {
public void run() {
getWindowManager().getDefaultDisplay().getMetrics(dm);
Log.d("Level1Activity", "width " + dm.widthPixels + " height " + dm.heightPixels);
int i = nMosq++;
Scene scene = Level1Activity.this.mEngine.getScene();
float startX = gen.nextFloat() * CAMERA_WIDTH;
float startY = gen.nextFloat() * (CAMERA_HEIGHT); // - 50.0f);
sprMosq[i] = new Sprite(startX, startY,
mMosquitoTextureRegion,getVertexBufferObjectManager());
body[i] = PhysicsFactory.createBoxBody(mPhysicsWorld, sprMosq[i], BodyType.DynamicBody, FIXTURE_DEF);
sprMosq[i].registerEntityModifier(new SequenceEntityModifier(
new AlphaModifier(5.0f, 0.0f, 1.0f),
new MoveModifier(60.0f, sprMosq[i].getX(), dm.widthPixels/2 , sprMosq[i].getY(), dm.heightPixels/2 , EaseBounceInOut.getInstance())));
scene.getLastChild().attachChild(sprMosq[i]);
mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(sprMosq[i], body[i], true, true));
if (nMosq < 50) {
mHandler.postDelayed(mStartMosq, 5000);
}
}
};