Я создаю изображение с помощью NinePatchDrawable и пытаюсь повернуть его с помощью метода rotateBy просто, но он каким-то образом не вращается. Я использую следующий фрагмент кода:Libgdx Scene2d Изображение от NinePatchDrawable не вращается
TextureAtlas ninePatchAtlas = game.getAssetsInterface().getTextureAtlas(Constants.GAME_ATLAS);
AtlasRegion region = ninePatchAtlas.findRegion("drawPatch");
NinePatch ninePatch = new NinePatch(region, 59, 59, 59, 59);
NinePatchDrawable ninePatchDrawable = new NinePatchDrawable(ninePatch);
Image image = new Image(ninePatchDrawable);
image.setOrigin(image.getWidth()/2, image.getHeight()/2);
image.setPosition(200, 400);
image.setWidth(150);
image.rotateBy(45);
поворот работает, если я использую другой Drawable вместо NinePatchDrawable на конструктору изображения. Кто-нибудь сталкивается с той же проблемой?
NinePatch не поддерживает вращение. Вам придется подклассифицировать его и переопределить метод draw, чтобы он работал. Изображение поддерживает только поворот на Drawables, которые реализуют TransformDrawable (из которых TextureRegionDrawable является единственным, если вы не создаете свой собственный). – Tenfour04
В таких случаях это может также помочь обернуть его в таблицу, использовать setTransform (true) на нем и вместо этого повернуть таблицу. – noone