嵌入时不显示Flash CS4组合框

我有一个使用标准Flash组合框的Flash CS4电影。 这工作正常,只要我不使用HTML页面上嵌入的结果SWF。 当我嵌入它时,组合框不显示,不分派鼠标事件,就好像它不存在一样。 但是,如果切换到全屏模式,即使从全屏切换回来,组合框也会正常显示并正常工作。

我认为这是组件,Flash CS4或Flash播放器本身中的一个错误,因为它也发生在仅有组合框存在的空电影中。 我在Google搜索时发现的所有问题都是具有相同问题的人,但没有解决方案。

任何人都可以提出解决方法或解决方法?


我发现将<embed>标记中的wmode属性设置为window (之前设置为transparent )可以解决问题。 为什么这会导致组合框出现问题(只是组合框,afaict),我不知道,但我很高兴我解决了这个问题。

编辑:我已经找到了代码中的解决方法,所以我仍然能够使用透明wmode。 显然,问题在于Flash播放器在wmode透明时不会派发Event.RENDER事件。 诀窍是在关键时刻手动分发该事件。 这是我的解决方案:

private function renderStage(e:Event=null){
 stage.dispatchEvent(new Event(Event.RENDER));
}

myComboBox.addEventListener(ListEvent.ITEM_CLICK, renderStage);
myComboBox.addEventListener(ListEvent.ITEM_DOUBLE_CLICK, renderStage);
myComboBox.addEventListener(ListEvent.ITEM_ROLL_OUT, renderStage);
myComboBox.addEventListener(ListEvent.ITEM_ROLL_OVER, renderStage);
myComboBox.addEventListener(Event.CHANGE, renderStage);

这似乎工作。

链接地址: http://www.djcxy.com/p/17833.html

上一篇: Flash CS4 combobox not showing when embedded

下一篇: Flash Cs4 components skinning / themes?