-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflashToFxg.jsfl
104 lines (84 loc) · 2.41 KB
/
flashToFxg.jsfl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
var doc = fl.getDocumentDOM();
var library = doc.library;
var items = library.items;
// JSFL
fl.outputPanel.clear();
// get url from .fla and add ./bin folder
var url = doc.pathURI.split(doc.name).join("") + "ui/";
FLfile.createFolder(url);
// Clear the output panel
fl.outputPanel.clear()
var item;
var length = items.length;
var getters = "";
var imports = "";
var register = "";
var initialWidth = doc.width;
var initialHeight = doc.height;
//for each items
for(var i = 0; i<length; i++)
{
item = items[i];
//if item as linkage parameters
if(item.linkageExportForAS)
{
library.selectItem(item.name, true);
doc.library.addItemToDocument({x:0, y:0});
var w = doc.selection[0].width;
var h = doc.selection[0].height;
doc.width = Math.ceil(w);
doc.height = Math.ceil(h);
fl.trace(item.name+" : "+w+"/"+h+" : "+doc.width+"/"+doc.height);
doc.deleteSelection();
if(item.itemType == "button")
{
//if it's a simple button, export 1st and 2nd frame
library.editItem(item.name);
doc.exportFXG(url + items[i].linkageClassName+"Up.fxg");
getters += logGetter(items[i].linkageClassName+"Up");
register += logRegisters(items[i].linkageClassName+"Up");
imports += logImports(items[i].linkageClassName+"Up");
item.timeline.currentFrame = 1;
doc.exportFXG(url + items[i].linkageClassName+"Down.fxg");
getters += logGetter(items[i].linkageClassName+"Down");
register += logRegisters(items[i].linkageClassName+"Down");
imports += logImports(items[i].linkageClassName+"Down");
}else
{
library.editItem(item.name);
doc.exportFXG(url + items[i].linkageClassName+".fxg");
getters += logGetter(items[i].linkageClassName);
register += logRegisters(items[i].linkageClassName);
imports += logImports(items[i].linkageClassName);
}
}
doc.editScene(0);
}
doc.editScene(0);
doc.width = initialWidth;
doc.height = initialHeight;
fl.trace(imports);
fl.trace(getters);
fl.trace(register);
function logGetter(name)
{
var getName = name.charAt(0).toLowerCase() + name.slice(1);
var string = "";
string += "\npublic function get "+getName+"() : Texture";
string += "\n{";
string += "\n return getTexture("+name+")";
string += "\n}\n";
return string;
}
function logRegisters(name)
{
var string = "";
string += "\nregisterTexture("+name+");";
return string;
}
function logImports(name)
{
var string = "";
string += "\nimport ui."+name+";";
return string;
}