Изменение размера, перемещение, экспорт координат объектов во flash - PullRequest
0 голосов
/ 20 января 2011

Как поместить объекты во флэш-память, переместить и изменить их размер и т. Д., А затем экспортировать координаты / поворот в текстовый файл или что-то в этом роде?

1 Ответ

1 голос
/ 20 января 2011

Вы имеете в виду во время выполнения или во время создания (в среде IDE)?

Для времени выполнения вы просто просматриваете интересующие вас клипы и сохраняете свойства в текстовом виде / xml:

var layout = <layout />;//create the root node for our xml
var elementsNum = numChildren;//store this for counting

for(var i = 0 ; i < elementsNum ; i++){
    var clip = getChildAt(i);
    layout.appendChild(<element />);//add an element node
    layout.element[i].@name = clip.name;//setup attributes
    layout.element[i].@x = clip.x;
    layout.element[i].@y = clip.y;
    layout.element[i].@rotation = clip.rotation;
    layout.element[i].@scaleX = clip.scaleX;
    layout.element[i].@scaleY = clip.scaleY;
}

flash.system.System.setClipboard(layout);
trace('layout copied to clipboard');

Это создаст xml, где каждый клип в текущем MovieClip является узлом, а некоторые свойства сохранены.Затем xml копируется в буфер обмена.

Вы можете сделать что-то подобное во время автора с чем-то простым, например, с выбором:

var doc = fl.getDocumentDOM();//get the current document ref.
var selection = doc.selection;//get the selection
var layout = <layout />;//create the root node for our xml
var elementsNum = selection.length;//store this for counting

for(var i = 0 ; i < elementsNum ; i++){
    layout.appendChild(<element />);//add an element node
    layout.element[i].@name = selection[i].name;//setup attributes
    layout.element[i].@x = selection[i].x;
    layout.element[i].@y = selection[i].y;
    layout.element[i].@rotation = selection[i].rotation;
    layout.element[i].@scaleX = selection[i].scaleX;
    layout.element[i].@scaleY = selection[i].scaleY;
}

var url = fl.browseForFileURL('save','Save Layout');//prompt for location
if(url) fl.trace(FLfile.write(url,layout));//save

Если вы сохраните это как файл .jsfl впапка Flash Commands должна появиться в меню Commands в IDE, в противном случае вы сможете просто запустить ее.Не то чтобы он хранит свойство name, поэтому выборка должна содержать MovieClip (или элементы с именем).Затем отобразится диалоговое окно сохранения и файл xml будет сохранен в текстовом файле.

Это базовые примеры, но они должны позволить вам начать работу и писать этот текстовый файл так, как вам нужно (возможно, вы захотите пройти по нему).все фрагменты ролика вместо выделения, возможно, потребуется сохранить различные свойства и т. д.)

Бесстыдный плагин: вы можете найти эту тонкую презентацию JSFL удобную.

HTH

...