[練習]

by Tamanegi_kenshi
♥0 | Line 55 | Modified 2010-09-08 06:55:01 | MIT License
play

ActionScript3 source code

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

package {
    import flash.events.*;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        private var num:Number = 0;
        private var numY:int = 0;
        private var numX:Number = 0;
        private var ballArr:Array = [];
        
        public function FlashTest() {
            init();            
        }
        private function init():void{
            //stageとsetBallを関連付ける
            stage.addEventListener(Event.ENTER_FRAME, setBall);
            
        }
        //ballを設定するfunction setBallをつくる
        private function setBall(e:Event):void{
            var ball:Ball = new Ball();
            addChild(ball);
            ballArr.push(ball);
            ball.x = num * 22;
            ball.y = 350 + numY;
            if(num > 20 - numX / 2){
                numY -= 12;
                num = -0.5 + numX / 2;
                numX++;
            }
            if(numX > 21){
                stage.removeEventListener(Event.ENTER_FRAME, setBall);
                setAngle();
            }
            num += 1;
        }
        
        //積み上げられた角度を測るfunction setAngleをつくる
        private function setAngle():void{
            graphics.lineStyle(2, 0x000000);
            graphics.moveTo(0, 350);
            graphics.lineTo(240, ballArr[ballArr.length - 1].y - 5);
            graphics.lineTo(480, 350);
            
        }


    }
}
import flash.display.Sprite;
import flash.events.Event;
class Ball extends Sprite{
    public function Ball(){
        graphics.beginFill(0xcccccc);
        graphics.drawRect(0, 0, 20, 10);
        graphics.endFill();
        this.alpha = 0;
        this.y = - 150;
        
        addEventListener(Event.ENTER_FRAME, onEnter);
    }
    private function onEnter(e:Event):void{
        var val:Number = (1 - this.alpha) * 0.1;
        this.alpha += val;
        //var vy:Number = (450 - this.y) * 0.5;
        //this.y += vy;
    }

}