2013-05-19 1 views
0

У меня есть векторные спрайты во внешнем SWF. Я могу нарисовать их на картине Старлинг. Но когда я пытаюсь масштабировать спрайт перед рукой, результирующее изображение обрезается, а не масштабируется.Старлинг: Масштабирование векторного спрайта для изображений культур вместо масштабов

Это прекрасно работает вне скворца с помощью простых спрайтов, но я новичок в Starling, поэтому я уверен, что мне не хватает чего-то основного. Любая помощь будет оценена по достоинству. Благодаря!

FlashDevelop + воздух + Старлинг

Main.as

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(); 
     } 
    } 
} 

Game.as

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); 
     } 
    } 
} 

EDIT: Я нашел обходной путь, добавив масштабную матрицу к BitmapData. привлечь. Но я до сих пор не знаю, почему масштабирование преобразуется в обрезку без него.

+0

, что ваша работа вокруг. может быть, вы должны отредактировать свой код в вопросе с ним? – Cherniv

ответ

1

Я думаю, что я помню, подобный вопрос в моем последнем проекте, попробуйте это решение:

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

А, это прекрасно! И теперь очевидно, что вы указываете на это. :) Благодаря! –

+0

@TrickyWidget Рад, что это помогает! Я помню, что нашел ответ в «Essential ActionScript 3.0» Колина Мока, – Cherniv