我遇到这样的问题:MovieClip项目不响应鼠标点击。 我有一个MovieClip“行”,其中包含4个具有实例名称的相同子元素: “item0”,“item1”,“item2”,“item3”。所有项目都相同。我正在向他们添加事件监听器onClick。但只有两个响应事件,另外两个对鼠标点击没有任何反应。我该如何解决这个问题。我需要注意哪些参数以及它们必须具备的含义。感谢名单。
public class BonusGameLine extends EventDispatcher implements IViewLogic
{
public static var LINE_ITEM_CLASS:Class = BonusItemViewLogic;
protected static var time_before_fade_out:int = 2000;
public var id:int;
public var line_mc:MovieClip;
protected var line_items:Array = [];
protected var line_result:BonusLineResultVO;
protected var line_final_anim_count:uint = 0;
public var item_bring_to_front:Boolean;
public var string_in_result:String = '';
public function BonusGameLine( id:int, line_mc:MovieClip )
{
this.id = id;
this.line_mc = line_mc;
this.line_mc.addEventListener( MouseEvent.CLICK, dispatchEvent );
}
public function activate():void{
if (line_mc.hasOwnProperty('back_mask_anim')){
(line_mc['back_mask_anim'] as MovieClip).gotoAndStop('hide');
(line_mc['back_mask_anim'] as MovieClip).play();
}
if (line_mc.hasOwnProperty('instruction')){
(line_mc['instruction'] as MovieClip).gotoAndStop('show');
(line_mc['instruction'] as MovieClip).play();
}
if (line_mc.hasOwnProperty('progress')){
(line_mc['progress'] as MovieClip).gotoAndStop('show');
(line_mc['progress'] as MovieClip).play();
}
activateItems();
}
protected function activateItems():void{
var index:int;
while( line_mc.hasOwnProperty('item'+index) ) {
var it:MovieClip = line_mc['item'+index] as MovieClip;
it.mouseChildren = false;
trace(index);
testMovie(it);
var item:BonusItemViewLogic = new LINE_ITEM_CLASS( index, it)
item.addEventListener( MouseEvent.CLICK, userSelectedHandler );
line_items.push(item);
index++;
}
}
private function testMovie(movie:InteractiveObject):void
{
trace("Begin test------------");
trace("name: " + movie.name);
trace("parent.name: " + movie.parent.name);
trace("mouseEnable: " + movie.mouseEnabled);
trace("focusRect: " + movie.focusRect);
trace("End test--------------");
}
public function userSelectedHandler( event:MouseEvent ):void {
for each( var item:BonusItemViewLogic in line_items ) {
(item.content as MovieClip).mouseEnabled = false;
(item.content as MovieClip).mouseChildren = false;
}
var item_btn:BonusItemViewLogic = event.currentTarget as BonusItemViewLogic;
dispatchEvent( new EventTrans( Event.SELECT, item_btn.id ) );
}