animator 関連のサンプルをここまで大量に紹介するつもりも無かったが、今回で最後にする予定である。最後の例は start について。start は非同期で実行されるのだが、複数のstartを連続して書いたら、順番に実行されるのだろうか?と疑問に思いやってみたサンプルを紹介。
結果としては、連続的に書いても同時に実行されることがわかったのだが、それがstartの中でArray指定して複数のアニメーションを指定する場合と全く同じ意味なのかそうでないのかは不明である。
サンプルでは、a,b,c,各アニメーションを
animator.start(a);
animator.start(b);
animator.start(c);
のように実行するように指定するが、結局1回だけフェードインするだけである。
ソースコード:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) 2006 uiengineda.blogs.com -->
<!-- Yahoo Widgets サンプル049:アニメーションの基礎 start -->
<widget>
<debug>on</debug>
<window>
<name>main_window</name>
<title>animation</title>
<height>500</height>
<width>500</width>
<visible>true</visible>
</window>
<action trigger="onLoad">
var img001 = new Image();
img001.visible = false;
img001.src = "images/001.jpg";
img001.width = 128;
img001.height = 96;
img001.opacity = 0;
img001.visible = true;
var a = new FadeAnimation(img001,255,3000,animator.kEaseOut,FadeDone);
var b = new FadeAnimation(img001,0,3000,animator.kEaseOut,FadeDone);
var c = new FadeAnimation(img001,255,3000,animator.kEaseOut,FadeDone);
// ↓のようにしても同時に実行される(順番に実行されない)
animator.start(a);
animator.start(b);
animator.start(c);
// エフェクトが終了した際に呼ばれる関数を定義する。
function FadeDone(){
print("fade finished");
}
</action>
</widget>









最近のコメント