我试图在Adobe Connect中获得用户的角色,然后在我的pod中使用它来限制对嵌入式swf文件中的按钮的访问。所以我在mxml中创建了这个:
<mx:SWFLoader id="mySWFLoader" source="GameShow.swf" complete="setSwfMc()"/>
<sync:SyncConnector id="syncConnector" syncMessageReceived = "syncMessageReceived(event)" caughtUp="caughtUp(event)" />
然后我为加载的swf添加了这个完整的方法:
private function setSwfMc():void{
mySwfMc = mySWFLoader.content as MovieClip;
mySwfMc.addEventListener(FFTalkEvent.TALK_TO_FLEX,listenToFlash);
this.addEventListener(FFTalkEvent.TALK_TO_FLASH,mySwfMc.mainFrame_mc.listenToFlex);
dispatchEvent(new FFTalkEvent(FFTalkEvent.TALK_TO_FLASH, true, true, syncConnector.role));
}
最后的调度事件触发我嵌入的swf中的这个侦听器:
function listenToFlex(e:FFTalkEvent):void{
trace("listening to Flex "+e.said);
role = e.said;
role_txt.text = e.said;
}
当我在本地测试时,我可以得到嵌入的swf来返回信息。但是当我把它放入Adobe Connect时,role_txt文件中没有显示任何内容,所以它没有得到我的syncConnector。角色放入我嵌入的swf中。所以我想知道我怎么知道我有一个值为syncConnector。角色,我什么时候可以触发它到我的嵌入式flash文件,知道一个用户有一个角色?
没关系。我找到了答案。Flex项目必须在index.html或index.swf中作为项目的第一个文件。否则,我认为它无法访问协作构建器的详细信息或属性。