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オブジェクトと回転を使って正しく炎を翻訳できなければならないと思いますが、起点操作では不十分です –