У меня такая проблема: элемент 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 ) );
}