function configureEffect(){ curr_eff = fl.activeEffect; curr_eff.useXMLToUI = false; } function executeEffect(){ var curr_doc = fl.getDocumentDOM(); if(curr_doc.documentHasData("duration")){ duration = curr_doc.getDataFromDocument("duration"); } else { duration = 20; } if(curr_doc.documentHasData("scale")){ scale = curr_doc.getDataFromDocument("scale"); } else { scale = 200; } doEffect(); } function doEffect(){ curr_doc = fl.getDocumentDOM(); curr_tl = curr_doc.getTimeline(); theFrame = curr_tl.currentFrame; curr_tl.insertFrames(duration-1); curr_doc.enterEditMode(); curr_tl = curr_doc.getTimeline(); curr_tl.insertFrames(duration-1); curr_tl.createMotionTween(0, duration-1); curr_tl.convertToKeyframes(duration-1); curr_tl.currentFrame = duration-1; curr_doc.selectAll(); curr_doc.scaleSelection(scale/100, scale/100, "center"); curr_doc.exitEditMode(); curr_elem = curr_doc.selection[0]; curr_item = curr_elem.libraryItem; curr_item.symbolType = "movie clip"; curr_item.exportSWF(fl.configURI + "/Effects/growPreview.swf"); curr_tl = curr_doc.getTimeline(); curr_tl.currentFrame = theFrame; curr_doc.addDataToDocument("duration", "string", duration); curr_doc.addDataToDocument("scale", "string", scale); var result = curr_doc.xmlPanel(fl.configURI + "/Effects/grow.xml"); if(result.reset){ duration = result.duration; scale = result.scale; undoEffect(); doEffect(); }else if(result.dismiss == "cancel"){ removeEffect(); curr_doc.breakApart(); } } function removeEffect() { undoEffect(); } function undoEffect(){ var curr_doc = fl.getDocumentDOM(); curr_doc.enterEditMode(); var curr_tl = curr_doc.getTimeline(); var numFrames = curr_tl.layers[0].frameCount; curr_tl.removeFrames(1, numFrames); curr_tl.setFrameProperty('tweenType', 'none', 0); curr_tl.currentFrame = 0; curr_doc.selectAll(); curr_doc.breakApart(); curr_doc.exitEditMode(); curr_tl = curr_doc.getTimeline(); var selFrames = curr_tl.getSelectedFrames(); curr_tl.removeFrames(selFrames[1]+1, selFrames[2]); curr_tl.setSelectedFrames(selFrames[1], selFrames[1]); }