便利なCallback Class
Flashサイトの作成で、
メニューの切り替わり時など、表示部を変更させるとき
「今表示しているのを隠して、次のを表示させる」という感じの処理がしばしばある
そのときに、単純にそれならいいんだけど
「今表示しているのぼわんと隠し、次のが横からスライドインして表示させる」
など、A開始→A終了 B開始→B終了 次の処理… という感じで
開始と終了の間にモーションが入るときが厄介;
最近流行のパーマリンク・ブラウザコントロール対応だとさらに厄介。
なのでCallbackクラスを作ってなんとかましに。
ようは、メソッドをたたくところをまとめておいて、必要なときに実行するというもの。
シンプルな使い方として
var myCallback = new Callback(this,hogehoge,[”ほげほげ”])
function hogehoge(msg){
trace(”呼ばれたよ”)
trace(”message:” + msg)
}
後は好きなところで
myCallback.execute()
よくあるパターンとして
モーションAのあとモーションB、そのあとモーションCといったとき
motionA(new Callback(this,motionB,[new Callback(this,motionC)]))
function motionA(c){
var mytween = new Tween(- 省略
mytween.onMotionDone = function(){
if(c) c.execute()
}
}function motionB(c){
var mytween = new Tween(- 省略
mytween.onMotionDone = function(){
if(c) c.execute()
}
}function motionC(c){
var mytween = new Tween(- 省略
mytween.onMotionDone = function(){
if(c) c.execute()
}
}
いちいち、メソッドの受け取りにつけなきゃいけないんだけど、まぁなんとか
そのほかに 何ミリ秒後に実行
new Callback(this,trace,[”1000ミリ秒後に実行された”]).delayedExecute(1000);
処理の追加
var c = new Callback(this,trace,[”もともとの処理”])
c.push(this,trace,[”追加された処理”])
処理の追加 Callback instanceどうしをくっつける
var c = new Callback(this,trace,[”もともとの処理”])
var c2 = new Callback(this,trace,[”もともとの処理に追加された処理”])
c.concat(c2)
Callback.as







コメントをどうぞ