2016-02-23 90 views
0

比方說,我有這樣的Adobe Illustrator(目前指和Krita軟件)繪圖程序,並讓我們說二世5層,並畫了一個簡單的火柴人。一層是透明帆布,兩層是兩條腿,三層是身體,四隻手和五個頭。所有這些層合併成一個火柴人(這很好)。現在我將這張圖片加載到actionscript3中。但現在讓我們說,我只想移動10個像素的腿而不移動身體的其餘部分。我將無法做到這一點,我可以最大限度地將整個火柴人移動10個像素。是否有將節省整體形象也將顯示5組(子圖像,子數據....叫什麼你想要的)象腿,身體和他人的格式?目標是有時我想旋轉所有火柴人,但有時我只想移動像腿一樣的特定部分。或者,唯一的辦法就是讓4張圖片每一個身體部位,並通過1它們加載到1 AS3和合併爲1周單的火柴人後?圖像格式

我希望這張照片將幫助你一點:

https://gyazo.com/ad6de45fdfdfc90b17b49db3c293c13b

+0

你可以用SWF做到這一點,只是使它成爲一個影片剪輯符號與子符號添加到它 - 你將能夠通過在AS3的實例名稱來訪問它加載SWF –

+0

@MartonPallagi後。 Hmmmmm我喜歡你的想法,認爲是我不使用的Adobe Flash,因爲它的試用軟件,並作爲許可後說,我爲它付出我只能用它commercialy。那爲什麼我選擇了Krita進行繪圖(基本上和ilustrator一樣)。好,所以解決方案很好,但仍然是一個問題。有沒有其他的方式來makie movie_clip沒有Flash工具,就像其他免費軟件或類似的東西。 –

回答

0

我認爲最簡單的方法是將文件保存在PSD格式。 有一個在AS3一個PSD分析器對您:https://github.com/warrenseine/as3-psd-parser/

var psdParser :PSDParser = PSDParser.getInstance(); 
psdParser.parse(file.data); 

var layersLevel :Sprite = new Sprite(); 
var arr:Array = new Array(); 

for (var i : Number = 0;i < psdParser.allLayers.length; i++) { 
    var psdLayerm :PSDLayer = psdParser.allLayers[i]; 
    var layerBitmap_bmp :BitmapData = psdLayer.bmp; 
    var layerBitmap :Bitmap = new Bitmap(layerBitmap_bmp); 
    layerBitmap.x = psdLayer.position.x; 
    layerBitmap.y = psdLayer.position.y; 
    layerBitmap.filters = psdLayer.filters_arr; 
    layersLevel.addChild(layerBitmap); 

    arr.push(layerBitmap); 
} 


// Move legs 
arr[0].x += 10;