1

1 つのスプライト コンテナー内に 30 個のボタンがあり、1 ページには 6 つのアイコン (ボタン) しか含まれていません。私が抱えている問題は、FlashのMouseDownイベントでコンテナをスワイプすると、コンテナ内のボタン(子)も起動することです。つまり、スプライトをスワイプしている間は、コンテナ内でマウスイベントを発生させませんが、コンテナをスワイプしないときは発生させません。

enter code here

var mc:Sprite = new Sprite();
mc.addChild(bouton);
bouton.addEventListener(MouseEvent.CLICK,submenu);
mc.addEventListener(MouseEvent.MOUSE_DOWN, _mouseDownHandler, false, 0, true);

function submenu(e:events):void{

trace(e.current.target.menu);
}
function _mouseDownHandler(event:MouseEvent):void { 
TweenLite.killTweensOf(mc);
_t1 = _t2 = getTimer();
mc.startDrag(false, new Rectangle(_panelBounds.x - 99999, _panelBounds.y, 9999999, 0));
this.stage.addEventListener(MouseEvent.MOUSE_UP, _mouseUpHandler, false, 0, true);
this.addEventListener(Event.ENTER_FRAME, _enterFrameHandler, false, 0, true);
}
4

2 に答える 2

0

子インデックス 0 のレイヤーを mc に追加し、レイヤーにマウス クリック イベントを追加します。

mc.graphics.beginFill(0xffff00, 0.01);
mc.graphics.drawRect(0, 0, 400, 400);// you can set the size here, or use mc.width,mc,height

mc.graphics.endFill();

if (stage) {
    onAddToStage(null);
} else {
    addEventListener(Event.ADDED_TO_STAGE, onAddToStage);
}


protected function onAddToStage(event:Event):void
{
    var s:Sprite = new Sprite();//the layer to trigger event

     s.graphics.beginFill(0x000000, 0.01);
     s.graphics.drawRect(0, 0, mc.width, mc.height);
     s.graphics.endFill();
     s.addEventListener(MouseEvent.MOUSE_DOWN, _mouseDownHandler, false, 0, true);
     mc.addChildAt(s, 0);
 }
于 2013-07-20T14:41:13.457 に答える