今天 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 中双击运行即可。
效果图: