package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.display.Shape; import flash.display.Loader; import flash.net.URLRequest; import flash.display.SimpleButton; import flash.events.MouseEvent; import flash.display.MovieClip; public class professional_flex_code_16_Multiple1Example extends Sprite { private var countingSWF:Loader; public function professional_flex_code_16_Multiple1Example() { if( stage != null ) { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; } var maskRect:Shape = new Shape(); maskRect.graphics.beginFill( 0xFFFFFF ); maskRect.graphics.drawRect( 0, 0, 40, 40 ); maskRect.graphics.endFill(); addChild( maskRect ); countingSWF = new Loader(); countingSWF.mask = maskRect; var url:String = "http://localhost/media/local/assets/flex/ch16_counting.swf"; var urlReq:URLRequest = new URLRequest( url ); countingSWF.load( urlReq ); addChild( countingSWF ); var overSprite:Sprite = new Sprite(); overSprite.graphics.lineStyle(2, 0x333333); overSprite.graphics.beginFill(0x336699); overSprite.graphics.drawRect(0, 0, 20, 20); var upSprite:Sprite = new Sprite(); upSprite.graphics.lineStyle(2, 0x333333); upSprite.graphics.beginFill(0x993333); upSprite.graphics.drawRect(0, 0, 20, 20); var myButton:SimpleButton = new SimpleButton(); myButton.upState = upSprite; myButton.overState = overSprite; myButton.downState = overSprite; myButton.useHandCursor = true; myButton.hitTestState = upSprite; myButton.x = 10; myButton.y = 50; myButton.addEventListener( MouseEvent.MOUSE_DOWN, countingHandler ); addChild( myButton ); } private function countingHandler( event:MouseEvent ):void { MovieClip( countingSWF.content ).play(); } } }