forked from: 車が動くアニメーション

by hacker_yk666qry forked from 車が動くアニメーション (diff: 33)
♥0 | Line 45 | Modified 2009-12-31 16:51:34 | MIT License
play

ActionScript3 source code

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

// forked from 9re's 車が動くアニメーション
package {
    import flash.display.Sprite;
    import flash.events.Event;
    
    public class AnimationExample extends Sprite
    {
        // 車のクラス
        private var _car:Car;
        
        public function AnimationExample() 
        {
            // 車のクラスのインスタンスを作る
            // 色は赤にする
            _car = new Car();
            _car.putGas(50)        // ガソリンを50入れる
            _car.y = 200;          // 車のy座標を200に
            addChild(_car);        // 表示リストに追加
            
            // 1フレーム毎に実行する処理にmoveCarを追加する
            addEventListener(Event.ENTER_FRAME, moveCar);
        }
        
        private function moveCar(e:Event):void 
        {
            _car.move();           // 車を動かす
        }
    }
}

import flash.display.Sprite;

class Car extends  Sprite {
    // ガソリンの量最初は入っていない = 0
    private var _gas:int = 0;
    
    // コンストラクタ
    // 製造時に車の色は決まる
    public function Car() {
        // 車輪を書く
        graphics.beginFill(0x333333);
        graphics.drawCircle(10, 20, 5);
        graphics.drawCircle(45, 20, 5);
        graphics.endFill();
    }
    
    // ガソリンを入れる。
    public function putGas(_amount:int):void {
        if (_amount < 0) {     // もしガソリンの量が0以下だったら
            return;            // 何もしないで、ここで終了
        }
        
        _gas += _amount;       // $amountだけ_gasの量を増やす
    }
    
    // 車を動かす
    public function move():void {
        if (_gas > 10) {        // ガスの残量が10より大きい場合
            x += 5;             // x座標を5だけ増やす
        }
        
        _gas--;                 // 車が動くとガスは減る
        if (_gas < 0) {         // もしガスの量が0より小さいなら
            _gas = 0;           // ガスの量を0にセットする
        }                       // ガスの量はマイナスにはならない
    }
   
}