0
在我的游戏中,我有一个火箭精灵,在火箭的底部有一个动画火焰精灵,我希望火箭精灵在火箭旋转时与火箭底部对齐。如何将一个精灵相对于另一个精灵的旋转?
这是火箭在比赛开始的时候,一切都OK了:
但是,当我旋转火箭的火焰不与火箭的底部是这样排列:
我怎样才能让它对齐?
这里是我的代码:
// draw rocket
rocketSprite.setRegion(AssetLoader.rocketTexture);
rocketSprite.setPosition(rocket.getX(), rocket.getY());
rocketSprite.setOrigin(rocket.getWidth()/2, rocket.getHeight()/2);
rocketSprite.setSize(rocket.getWidth(), rocket.getHeight());
rocketprite.setRotation(rocket.getRotation());
rocketSprite.setScale(1, 1);
rocketPodSprite.draw(game.batch);
//flame width and height
int w = 70;
int h = 20;
// randomly change scale of flame for effects
float sw = MathUtils.random(2f/7f, 1);
float sh = MathUtils.random(0.5f, 1);
// draw flame
flameSprite.setRegion(AssetLoader.flameTexture);
flameSprite.setPosition(rocket.getX() + rocket.getWidth()/2 - w, rocket.getY() - 15);
flameSprite.setOrigin(w, h/2);
flameSprite.setSize(w, h);
flameSprite.setRotation(rocket.getRotation());
flameSprite.setScale(sw, sh);
flameSprite.draw(game.batch);
当我这样做,我的精灵移动到不同的位置。我想用火焰的顶部中心随机缩放火焰精灵。也许有一个公式可以用来翻译火焰相对于火箭的位置? – Harry
嗯这是什么意思,它移动到不同的位置?据我所知,起源与位置没什么共同之处,所以它不应该这样做 - 你能分享一些截图吗?如果我们正在谈论另一种选择,我认为你应该能够正确地使用Vector2对象和旋转来翻译你的火焰,虽然我很惊讶,原始操纵是不够的...... –