2016-02-23 53 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;