Custom Classes demo

by Ivan_Kuckir forked from Bezier (diff: 75)
flash version of http://lib.ivank.net/?p=demos&d=classes
♥0 | Line 51 | Modified 2012-09-09 08:46:31 | MIT License
play

ActionScript3 source code

/**
 * Copyright Ivan_Kuckir ( http://wonderfl.net/user/Ivan_Kuckir )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/tN0c
 */

// forked from Ivan_Kuckir's Bezier
package 
{
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    
    public class Demo extends Sprite 
    {
        function Demo()
        {
            this.graphics.beginFill(0xccff88);
            this.graphics.drawRect(0,0,1000, 600);
            
            for(var i=0; i<10; i++)
            {
                var b = new Button("Button " + i);
                b.x = 15 + i*80;  b.y = 15 + i*45;
                b.addEventListener(MouseEvent.MOUSE_UP, onMU);
                this.addChild(b);
            }
        }
        function onMU(e) { trace("You just clicked on " + e.target.name); }
    }
   
}

import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.events.MouseEvent;

    class Button extends Sprite
    {
        //public var name;    
        public var bg;
        public static var tFormat  = new TextFormat("Arial", 25, 0xffffff);

        public function Button(name)
        {
            this.buttonMode = true;
            this.mouseChildren = false;
            this.name = name;
            
            this.graphics.beginFill(0x00ddff);
            this.graphics.drawRect(0, 0, 150, 35);
            
            this.bg = new Sprite();        // bg is a layer with dark blue rectangle
            this.bg.graphics.beginFill(0x0066dd);
            this.bg.graphics.drawRect(0, 0, 150, 35);
            this.addChild(this.bg);
            
            var t = new TextField();
            t.text = name; t.x = 20; t.y = 3;  
            t.setTextFormat(Button.tFormat);
            t.width = t.textWidth+4; t.height = t.textHeight;
            this.addChild(t);   
            
            this.addEventListener(MouseEvent.MOUSE_OVER, onMOv);
            this.addEventListener(MouseEvent.MOUSE_OUT , onMOu);     
        }
        
        private static function onMOv (e) { e.target.bg.visible = false;  }
        private static function onMOu (e) { e.target.bg.visible = true;   }
    }