2016-02-23 8 views
0

Предположим, что у меня есть программа рисования, такая как Adobe Illustrator (в настоящее время ссылается на программное обеспечение Krita), и, скажем, iI сделал 5 слоев и нарисовал простой stickman. Один слой - прозрачный холст, два - две ноги, три - тело, четыре руки и пять голов. Все эти слои в сочетании сделали stickman (это нормально). Теперь я загружаю эту картинку в actioncript3. Но теперь скажем, что я хочу переместить только ноги на 10 пикселей, не двигая остальной частью тела. Я не смогу это сделать, максимум, что я могу, переместить весь stickman на 10pixel. Есть ли формат, который сохранит целое изображение, но также укажет 5 подгрупп (субимажи, подданные ... назовите это так, как вы хотите), как ноги, тело и другие? Целью этого является то, что иногда я хочу повернуть всех stickman, но иногда я хочу перемещать только определенную часть, например, ноги. Или единственный способ сделать 4 фотографии каждой части тела и загрузить их 1 на 1 в as3 и после объединения в один единственный stickman?Формат изображения с субимагами или слоями

Я надеюсь, что эта картина поможет вам немного:

https://gyazo.com/ad6de45fdfdfc90b17b49db3c293c13b

+0

вы можете сделать это с помощью швейцарских франков, просто сделать это мувиклип символ с subsymbols добавил к нему - вы сможете получить к нему доступ через свои имена экземпляров в as3 после загрузки swf –

+0

@MartonPallagi. Хммммм, мне нравится твоя идея, думаю, я не использую флеш-память adobe в качестве пробной версии, и, как утверждают, я могу использовать ее только в коммерческих целях после того, как я заплачу за нее. Вот почему я выбрал Криту для рисования (в основном такой же, как иллюстратор). Хорошо, так что решение хорошее, но все же 1 проблема. Есть ли другой способ makie movie_clip без flash-инструментов, например, бесплатное программное обеспечение или что-то в этом роде. –

ответ

0

Я думаю, что самый простой способ, чтобы сохранить файл в PSD формате. Существует PSD анализатор в as3 для вас: 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;