在我的游戏中,我有sprite1和sprite2。 Sprite1具有中心原点。我希望sprite2使用sprite1的来源。但是两个精灵都无法正确对齐。
这是我的代码:
sprite1.setRegion(AssetLoader.rocket);
sprite1.setPosition(rocket.getX(), rocket.getY());
sprite1.setOrigin(rocket.getWidth() / 2, rocket.getHeight() / 2);
sprite1.setSize(rocket.getWidth(), rocket.getHeight());
sprite1.setRotation(rocket.getRotation());
sprite1.setScale(1, 1);
sprite1.draw(game.batch);
int w = 70;
int h = 20;
float x = escapePod.getX() + escapePod.getWidth() / 2 - w / 2;
float y = escapePod.getY() + escapePod.getHeight() / 2 - h / 2 - (escapePod.getHeight() + 4);
sprite2.setRegion(AssetLoader.flame);
sprite2.setPosition(x, y);
sprite2.setOrigin(sprite1.getOriginX(), sprite1.getOriginY());
sprite2.setSize(w, h);
sprite2.setRotation(rocket.getRotation());
sprite2.setScale(1, 1);
sprite2.draw(game.batch);
最佳答案
您有一个精灵的中心和另一个精灵的中心。您可以计算它们之间的距离。一旦有了它和旋转角度,就旋转精灵,然后计算另一个精灵的位置。如果其位置正确,则将另一个精灵旋转角度为负值。