在我的游戏中我有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);
答案 0 :(得分:1)
你有精灵的中心和另一个精灵。您可以计算它们之间的距离。一旦你拥有它和旋转的角度,你旋转你的精灵,你计算另一个精灵的位置。如果它在正确的位置,你可以用角度的负值旋转另一个精灵。