星形:缩放矢量精灵用于图像裁剪而不是缩放



我在外部SWF中有矢量精灵。我可以把它们画在星城的图像上。但是当我尝试预先缩放精灵时,结果图像被裁剪而不是缩放。

这在斯特林与普通精灵之外工作得很好,但我是斯特林的新手,所以我肯定我错过了一些基本的东西。任何帮助都会很感激。谢谢!

FlashDevelop + AIR + Starling

文件main

package 
{
    import flash.display.Sprite;
    import starling.core.Starling;
    public class Main extends Sprite 
    {
        private var starling:Starling;
        public function Main():void 
        {
            starling = new Starling(Game, stage);
            starling.start();
        }
    }
}

无异于常人

package  
{
    import flash.display.BitmapData;
    import starling.display.Image;
    import starling.display.Sprite;
    import starling.textures.Texture;
    public class Game extends Sprite
    {
        [Embed(source = "../assets/Sprites.swf", symbol = "Sprites_Tiger")]
        private var Sprites_Tiger:Class;
        public var Tiger:flash.display.Sprite = new Sprites_Tiger();
        public function Game() 
        {
            Tiger.width = 256;
            Tiger.height = 256;
            var bitmapdata:BitmapData = new BitmapData(Tiger.width, Tiger.height);
            bitmapdata.draw(Tiger);
            var texture:Texture = Texture.fromBitmapData(bitmapdata);
            var image:Image = new Image(texture);
            addChild(image);
        }
    }
}

编辑:我找到了一个解决办法,通过添加一个比例矩阵到bitmapdata.draw。但是我还是不知道为什么缩放会被转换成裁剪

我想我记得类似的问题在我的最后一个项目,尝试这个解决方案:

  bitmapdata.draw(Tiger, Tiger.transform.matrix);

最新更新