flash on 2010-2-7
他のクラスを使用
プロパティ entends クラスの継承
♥0 |
Line 57 |
Modified 2010-02-07 22:01:39 |
MIT License
archived:2017-03-20 19:52:23
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/fxGZ
*/
package {
import flash.display.Sprite;//他のクラスを使用
import flash.events.Event;
//プロパティ entends クラスの継承
public class AnimationExample extends Sprite {
//車のクラス
private var _car:Car;
//コンストラクタ newされた時に自動的に最初から実行する関数
public function AnimationExample() {
//車のクラスのインスタンスを作る
//色は赤にする
_car = new Car(0xd00000);
_car.putGas(50); //ガソリンを50入れる
_car.y = 200; //車のy座標を200
//_car.x = 100; //車の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();
}
}