-
// toggle a DisplayObject's visible property
-
var shape = new Shape();
-
-
shape.visible = !shape.visible;
-
trace(shape.visible); // outputs false
-
-
shape.visible = !shape.visible;
-
trace(shape.visible); // outputs true
-
-
shape.visible = !shape.visible;
-
trace(shape.visible); // outputs false
-
-
shape.visible = !shape.visible;
-
trace(shape.visible); // outputs true
This is pretty obvious to anyone with a full understanding of the ! operator. It's useful for things
like checkboxes and other types of toggle buttons. The first time I ever encountered this technique
was in processing source... in one of the demos on toxi.co.uk
Here's another quick example you can run in your timeline:
-
var circle:Shape = new Shape();
-
circle.graphics.beginFill(0xFF0000);
-
circle.graphics.drawCircle(0, 0,10);
-
circle.x = 80;
-
circle.y = 105;
-
addChild(circle)
-
-
var btn:TextField = new TextField();
-
btn.text = "click this text to toggle red circle's visibility";
-
btn.x = btn.y = 100;
-
btn.selectable = false;
-
btn.border = true;
-
btn.autoSize = TextFieldAutoSize.LEFT;
-
addChild(btn);
-
-
btn.addEventListener(MouseEvent.CLICK, onClick);
-
function onClick(evt:MouseEvent):void{
-
circle.visible = !circle.visible;
-
}
Because "not false" is true.