- ベストアンサー
Tweenを使って元の位置に戻したい
- Tweenクラスを使ってアニメーションを楽しんでいます。
- 座標100、200に円(直径75のボタン)を配置し、クリックすると座標300、200に拡大移動できます。
- ここまでは動作するのですが、再度クリックして元の位置に戻す方法がわかりません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
クリックする度にフラグとなる変数の値を入れ替えて そのフラグの値によってTweenを変えれば良いと思います。 //------------------------------------------- //クラスのインポート import mx.transitions.Tween; import mx.transitions.easing.*; //「grobal_btn」の初期の大きさと座標を変数に保存 var g_btn_xs:Number = grobal_btn._xscale; var g_btn_x:Number = grobal_btn._x; var g_btn_ys:Number = grobal_btn._yscale; var g_btn_y:Number = grobal_btn._y; //フラグとなる変数を用意 var g_flg:Boolean = false; grobal_btn.onRelease = function() { //フラグがfalseであれば if (!g_flg) { mc_tween = new Tween(grobal_btn, "_xscale", Elastic.easeOut, grobal_btn._xscale, 150, 1, true); mc_tween = new Tween(grobal_btn, "_x", Elastic.easeOut, grobal_btn._x, 300, 4, true);//スタートx座標、移動した後の座標 mc_tween = new Tween(grobal_btn, "_yscale", Elastic.easeOut, grobal_btn._yscale, 150, 1, true); mc_tween = new Tween(grobal_btn, "_y", Elastic.easeOut, grobal_btn._y, 100, 4, true);//スタートy座標、移動した後の座標 //フラグをtrueにする g_flg = true; } else { mc_tween = new Tween(grobal_btn, "_xscale", Elastic.easeOut, grobal_btn._xscale, g_btn_xs, 1, true); mc_tween = new Tween(grobal_btn, "_x", Elastic.easeOut, grobal_btn._x, g_btn_x, 4, true);//スタートx座標、移動した後の座標 mc_tween = new Tween(grobal_btn, "_yscale", Elastic.easeOut, grobal_btn._yscale, g_btn_ys, 1, true); mc_tween = new Tween(grobal_btn, "_y", Elastic.easeOut, grobal_btn._y, g_btn_y, 4, true);//スタートy座標、移動した後の座標 //フラグをfalseに戻す g_flg = false; } }; //-------------------------------------------
お礼
早速の回答をありがとうございます。 初心者の私にはフラグの扱い方や変数に入れておく等、聞いてはいるものの実際に使おうと するとどのように構文を記述してしてよいのかわからずじまいでした。例を参考していろい ろと試していきます。