flash on 2010-2-7
♥0 |
Line 1 |
Modified 2010-02-07 15:57:10 |
MIT License
archived:2017-03-20 19:52:27
ActionScript3 source code
/**
* Copyright sheep ( http://wonderfl.net/user/sheep )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/6FZc
*/
package { import flash.display.Sprite; import flash.events.Event; public class AnimationExample extends Sprite { // 車のクラス private var _car:Car; public function AnimationExample() { // 車のクラスのインスタンスを作る // 色は赤にする _car = new Car(0xd00000); _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(_fillColor:uint) { // 描画 _draw(_fillColor); } // ガソリンを入れる。 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だけ増やす } else { // ガスの量が10以下の場合 x += _gas / 2; // 残りのガスの量によって動きが変わる } _gas--; // 車が動くとガスは減る if (_gas < 0) { // もしガスの量が0より小さいなら _gas = 0; // ガスの量を0にセットする } // ガスの量はマイナスにはならない } // 描画メソッド。privateなので外からは見えない // 車の形や色は製造される時に決まってしまうので外部からは // 呼べない private function _draw(_fillColor:uint):void { // 車輪を書く graphics.beginFill(0x333333); graphics.drawCircle(10, 20, 5); graphics.drawCircle(45, 20, 5); graphics.endFill(); // 車体を書く graphics.beginFill(_fillColor); graphics.moveTo(0, 10); graphics.lineTo(15, 0); graphics.lineTo(30, 0); graphics.lineTo(40, 10); graphics.lineTo(50, 10); graphics.lineTo(55, 15); graphics.lineTo(55, 20); graphics.lineTo(0, 20); graphics.endFill(); }}