flash on 2010-9-19

by fakestar0826
コンテナに入れると表示されなくなる。。。
♥0 | Line 203 | Modified 2010-09-19 22:23:59 | MIT License
play

ActionScript3 source code

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

//コンテナに入れると表示されなくなる。。。
package {
    import flash.text.TextField;
    import flash.display.AVM1Movie;
    import flash.events.MouseEvent;
    import flash.events.Event;
    import flash.display.MovieClip;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        
        private var container:MovieClip;
        
        private var button1:Button;
        private var button2:Button;
        private var button3:Button;
        private var button4:Button;
        private var button5:Button;
        
        private var banner1:Banner;
        private var banner2:Banner;
        private var banner3:Banner;
        private var banner4:Banner;
        private var banner5:Banner;
        
        private var _text:TextField;
        
        public function FlashTest() {
            // write as3 code here..
            
            _text = new TextField();
            _text.x = 400;
            _text.y = 400;
            addChild(_text);
            
            addBanners();
            addButtons();
            
            this.addEventListener(MouseEvent.MOUSE_MOVE, moveHandler);
        }
        
        private function addButtons():void
        {
            button1 = new Button(80, 30, 0x000000, "button1", this);
            button1.x = 0; button1.y = 200;
            addChild(button1);
            button2 = new Button(80, 30, 0x333333, "button2", this);
            button2.x = 80; button2.y = 200;
            addChild(button2);
            button3 = new Button(80, 30, 0x666666, "button3", this);
            button3.x = 160; button3.y = 200;
            addChild(button3);
            button4 = new Button(80, 30, 0x999999, "button4", this);
            button4.x = 240; button4.y = 200;
            addChild(button4);
            button5 = new Button(80, 30, 0xCCCCCC, "button5", this);
            button5.x = 320; button5.y = 200;
            addChild(button5);
        }
        
        private function addBanners():void
        {
            banner1 = new Banner(400, 200, 0x000000, "banner1");
            addChild(banner1);
            banner1.x = 0; banner1.y = 0;
            banner2 = new Banner(400, 200, 0x333333, "banner2");
            addChild(banner2);
            banner2.x = 400; banner2.y = 0;
            banner3 = new Banner(400, 200, 0x666666, "banner3");
            addChild(banner3);
            banner3.x = 800; banner3.y = 0;
            banner4 = new Banner(400, 200, 0x999999, "banner4");
            addChild(banner4);
            banner4.x = 1200; banner4.y = 0;
            banner5 = new Banner(400, 200, 0xCCCCCC, "banner5");
            addChild(banner5);
            banner5.x = 1600; banner5.y = 0;
            
        }
        
        private function moveHandler(e:MouseEvent):void
        {
            var center:int = Math.floor(stage.stageWidth / 2);
            var dist:int = mouseX - center;
            var move:int = int(dist / 10)
            
            banner1.vx = move;
            banner2.vx = move;
            banner3.vx = move;
            banner4.vx = move;
            banner5.vx = move;
        }
        
        public function setDist(value:String):void
        {
            _text.text = String(value);
            //コンテナごと行くのがスマートやな。
            
            //無駄無駄無駄無駄無駄無駄無駄無駄無駄。と、とりえあず。
            if(value == "button1")
            {
                banner1.toDist(0);
                banner2.toDist(400);
                banner3.toDist(800);
                banner4.toDist(1200);
                banner5.toDist(1600);
                
            }
            
            if(value == "button2")
            {
                banner1.toDist(1600);
                banner2.toDist(0);
                banner3.toDist(400);
                banner4.toDist(800);
                banner5.toDist(1200);
                
            }
            
            if(value == "button3")
            {
                banner1.toDist(1200);
                banner2.toDist(1600);
                banner3.toDist(0);
                banner4.toDist(400);
                banner5.toDist(800);
                
            }
            
            if(value == "button4")
            {
                banner1.toDist(800);
                banner2.toDist(1200);
                banner3.toDist(1600);
                banner4.toDist(0);
                banner5.toDist(400);
                
            }
            
            if(value == "button5")
            {
                banner1.toDist(400);
                banner2.toDist(800);
                banner3.toDist(1200);
                banner4.toDist(1600);
                banner5.toDist(0);
                
            }
        }

    }
}
import flash.events.Event;
import flash.events.MouseEvent;

import flash.display.Sprite;
import caurina.transitions.Tweener;
import caurina.transitions.properties.ColorShortcuts;

class ParentButton extends Sprite
{
    ColorShortcuts.init();
    private var _width:int;
    private var _height:int;
    private var _color:uint;
    
    public function ParentButton(w:int, h:int, color:uint):void
    {
        _width = w;
        _height = h;
        _color = color;
        
        this.buttonMode = true;
        drawButton();
        
        this.addEventListener(MouseEvent.MOUSE_OVER, overHandler);
        this.addEventListener(MouseEvent.MOUSE_OUT, outHandler);
    }
    
    private function drawButton():void
    {
        this.graphics.beginFill(_color);
        this.graphics.drawRect(0, 0, _width, _height);
        this.graphics.endFill();
    }
    
    private function overHandler(e:MouseEvent):void
    {
       Tweener.addTween(this, { _brightness:0.3, time:0.2 } ); 
    }
    
    private function outHandler(e:MouseEvent):void
    {
        Tweener.addTween(this, { _brightness:0, time:0.1 } );
    }

}


class Button extends ParentButton
{
    private var _parent:FlashTest;
    
    public function Button(w:int, h:int, color:uint, _name:String, parent:FlashTest):void
    {
        super(w, h, color);
        _parent = parent;
        name = _name;
        
        this.addEventListener(MouseEvent.MOUSE_OVER, setDist);
    }
    
    private function setDist(e:MouseEvent):void
    {
        _parent.setDist(this.name);
    }

}

class Banner extends ParentButton
{
    private var _vx:int = 1;
    public function Banner(w:int, h:int, color:uint, _name:String):void
    {
        super(w, h, color);
        name = _name;
        this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
    }
    
    private function enterFrameHandler(e:Event):void
    {
        this.x -= _vx;
        if(this.x < -400)
        {
            this.x = 1600;
        }
        
        if(this.x > 1600)
        {
            this.x = -400;
        }

    }
    
    public function toDist(value:int):void
    {
        Tweener.addTween(this, { x:value, time:0.8 });
    }

    
    public function set vx(value:int):void
    {
        _vx = value;
    }
}