今日はハロウィーンですね。
小学生の時に英会話の塾でハロウィーンパーティーがあって、海賊の仮装をしていたのを思い出しました。
ということで思いつきで作り始めてみたものの、全くダメダメなサンプルになっちゃいましたが、もうハロウィーンになっちゃいましたので公開します。
仕事終わってから数時間で作れるレベルといったらこのくらいになっちゃうかな。。
あちこちから素材集めてこんな感じになりました。。。
6秒毎に動いて、10秒毎に光って、毎時10,20,30,40,50,60分で帽子が降ってきます。
サンプル
今回は全然時計としての用途で使っていませんが、trick7:teraさんのTeraClockを使用させていただきました。
Timer使えよ!というつっこみが入りそうですが、ただ触ってみたかったんです。
で、今回はCastBitmapを使いました。
以下作ったクラス
package myproject{
import flash.display.BitmapData;
import jp.progression.casts.*;
import jp.progression.commands.*;
import jp.progression.events.*;
import jp.progression.loader.*;
import jp.progression.*;
import jp.progression.scenes.*;
public class MyCastBitmap extends CastBitmap {
/*コンストラクタ*/
public function MyCastBitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false, initObject:Object = null) {
super(bitmapData,pixelSnapping,smoothing,initObject);
}
protected override function _onCastAdded():void {
alpha = 0;
addCommand(
// 任意のコマンドを記述してください。
new DoTweener(this,{alpha:1,time:2})
);
}
protected override function _onCastRemoved():void {
addCommand(
// 任意のコマンドを記述してください。
);
}
}
}
使い方はCastSpriteやCastMovieClipと一緒です。_onCastAddedで追加された時の処理を、_onCastRemovedで取り除かれた時の処理を書きます。
以下呼び出し元です。
今回はCastMovieClipの_onCastAddedでビットマップを追加しています。
protected override function _onCastAdded():void {
//PumpkinBmdがかぼちゃのビットマップデータ
_PumpkinBm = new MyCastBitmap(new PumpkinBmd(0,0));
addCommand(
// 任意のコマンドを記述してください。
new Prop(_PumpkinBm, {
x:_PumpkinBm.width / 2 * ( -1),
y:_PumpkinBm.height / 2 * ( -1),
smoothing:true
}),
new AddChild(this,_PumpkinBm),
new Func(function():void {
_Timer = new Timer(6000);
_Timer.addEventListener(TimerEvent.TIMER, movePumpkin);
_Timer.start();
})
);
}
通常のビットマップと使い方は全く同じで、ビットマップデータを用意して渡してあげる形になります。
今回のサンプルデータはもっと作りこんでから出します。
ハロウィーンに間に合わせたかったので、中途半端なまま公開となりました。。



