用脚本实现 Flash 中复制元件,翻转

今天 v 酱提了个奇葩需求,偷懒没有放到 flash-parser 里去。取而代之的是用了个 jsfl 脚本实现。

其基本功能是:

  • Flash 中选定某个图片后向右复制 n 个
  • 间隔翻转

研究了下 Flash 的 API,写了个简单的脚本。

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
fl.outputPanel.clear();

var ans1 = prompt("How many times do you wish to repeat?");
var ans2 = prompt("Flip? (1 for YES, 0 for NO)", 0);

var d = fl.getDocumentDOM();
var originItem, flipArg, repeatTimes;

function CopyItem(d, deltaX, idx, flip){
d.clipPaste();
var e = d.selection[0];
if (flip){
d.scaleSelection(-1, 1);
e.x = originItem.x + deltaX _ (idx + 1);
}else{
e.x = originItem.x + deltaX _ idx;
}
e.y = originItem.y;
}

if (ans1 == null){
alert('arguement error!');
}else if (d.selection.length < 0){
alert("Please Select A Picture");
}else{
repeatTimes = parseInt(ans1);
if (ans2 != null && ans2 != "0"){
flipArg = parseInt(ans2);
}
originItem = d.selection[0];
var deltaX = originItem.width;
d.clipCopy();
var bFlip = false
for (var i = 1; i <= repeatTimes; i++){
if (flipArg) {bFlip = !bFlip;}
CopyItem(d, deltaX, i, bFlip);
}
}

保存下来,存为 jsfl 文件,Flash 中双击运行即可。

效果图:

用脚本实现 Flash 中复制元件,翻转

https://robinxb.com/posts/2015/using-jsfl-in-flash-to-flip-and-copy/

作者

薯条

发布于

2014-07-15

更新于

2024-01-15

许可协议

评论