2010-06-09 55 views
0

最近我试图用JSFL做一些实验性的事情,而且我想知道是否有可能在组件(我制作的)或动画片段从舞台上的库中拖出时监听事件。在JSFL中拖放movieclip事件? (Flash IDE)

我想创建一些东西,我会得到一个组件,并将其放在MC上。当组件被放置在mc上时,组件将在一些var中保存mc作为引用。

也许事件并不是这样,但我不知道如果这是可能的或如何做到另一种方式。我希望有人能帮助我开始

THX提前

回答

0

虽然可以listen for document events,我不认为你可以拖放组件到MovieClip并获得影片剪辑的参考。

你可以做的事情是编写一个命令,首先存储所选影片剪辑的引用,然后使用mc参数设置将该组件添加到舞台。

下面是使用Button组件的一个简单示例。命令get的选定mc的名称,然后添加一个按钮,并将mc的名称设置为按钮名称。

var doc = fl.getDocumentDOM(); 
var mc = doc.selection[0];//get the mc 
doc.selectNone(); 

//add the component 
fl.componentsPanel.addItemToDocument({x:mc.x, y:mc.y}, "User Interface", "Button"); 
//setup parameter 
//use this if you don't know the paramater's index in the list 
setComponentValueByParamName(doc.selection[0],'label',mc.name); 
//otherhise you can get away with 
//doc.selection[0].parameters[2].value = mc.name; 

//returns true if the param was found and value was set, otherwise returns false 
function setComponentValueByParamName(component,param,value){ 
    for(var i = 0 ; i < component.parameters.length; i++){ 
     if(component.parameters[i].name == param){ 
      component.parameters[i].value = value; 
      return true; 
     } 
    } 
    return false; 
} 

看一看fl.componentPanelComponentInstanceParameter,以获得更好的画面。

HTH