В моей игре у меня есть ракетный спрайт, а на дне ракеты есть анимированный пламенный спрайт, я хочу, чтобы пламенный спрайт совпал с дном ракеты, когда ракета вращается.Как переместить спрайт относительно вращения другого спрайта?
Это ракета, когда начинается игра, все в порядке:
Но когда я повернуть ракету пламя не совпадает с нижней ракеты, как это:
Как это сделать?
вот мой код:
// 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 и вращения, хотя я довольно удивлен, что манипуляции с происхождением недостаточно ... –