mouseChildren属性——好东东

mouseChildren是sprite的属性。现在用sprite做一个按钮,并且按钮上有文字,代码如下:

 

   var txtfield:TextField=new TextField();
   txtfield.text=“MOVE”;

   var btnsprite:Sprite=new Sprite();
   btnsprite.name=“MOVE”;;
   btnsprite.buttonMode=true;

   btnsprite.graphics.beginFill(0x00cc00);
   btnsprite.graphics.drawRect(0,0,50,30);
   btnsprite.graphics.endFill();

   btnsprite.addChild(txtfield);

   btnsprite.mouseChildren=false;

   btnsprite.addEventListener(MouseEvent.CLICK,ClkRotateBtn);

 

如果没有最后一句,

1)btnsprite.buttonMode看不到效果,因为btnsprite被txtfield覆盖了。

2)在ClkRotateBtn()中想通过Target.name来确定当前被单击的是哪一个btn,就做不到了,因为btn被txtfield覆盖了。也就是btnsprite.name="MOVE"无效了,必须写txtfield.name="MOVE"

 

因此,btnsprite.mouseChildren=false;这句话很有用,解决了sprite被txtfield覆盖的多种问题。

你可能感兴趣的:(mouseChildren属性——好东东)