D0804122 スクリプトのスルーを解消できませんか?
Name 036
Date 2008年04月12日 (土) 08時42分
Message 憲ちゃん、皆さん、こんにちは。

いつも親切にお答えいただき、ありがとうございます!

度々で大変恐縮ですが、以下の内容をご確認いただけますでしょうか。

現在、Tweenクラスを利用したモーションを作成中です。
ムービークリップのY座標値を、指定した条件により変更するものです。

こちらは問題なく動作させる事はできたのですが
Tweenクラスのスクリプトに続けて、gotoAndPlayを追記すると
Tweenが実行されないまま、すぐさまgotoAndPlayが実行されてしまいます。
Tweenの実行後にgotoAndPlayを認識させたいのですが解決できません。

以下が現状のスクリプトです。


stop();

import mx.transitions.Tween;
import mx.transitions.easing.*;

var Tween1:Tween = new Tween(
this.Content1_mc,
"_y",
Strong.easeInOut,
500,
200,
2,
true
);

_root.gotoAndPlay(2);


どなたか解消法をご存知でしたら、お答え頂ければ幸いです。
何卒、よろしくお願い致します。
Response 01
2008年04月12日 (土) 12時23分> joy 
036さん、
おはようございます。
tweeninstance.onMotionStoppedイベントハンドラメソッドを使います。

/*〜以下変更後スクリプト〜*/
stop();

import mx.transitions.Tween;
import mx.transitions.easing.*;

var Tween1:Tween = new Tween(this.Content1_mc, "_y", Strong.easeInOut, 500, 200, 2, true);

Tween1.onMotionStopped = function():Void {//追記分です。インスタンスTween1のMotionが終了したなら、_rootのフレーム移動を行う
_root.gotoAndPlay(2);
};
http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00004142.html
Response 02
2008年04月12日 (土) 12時32分> joy 
追記です。
Tween1.onMotionFinished = function():Void {//onMotionStoppedの代わりに、onMotionFinishedでも、この場合は、同じ動きをするようです。差は、上のurlをご覧になり、ご自分で、色々なパターンを試してみれば、お分かりになると思います。
_root.gotoAndStop(2);
};
Response 03
2008年04月13日 (日) 10時07分> 036 
joyさん

いつもお世話になっております。

ご回答の内容で試してみたところ、問題なく作動しました!
ご面倒でなければ、もうひとつお伺いしたい事がございます。

Tweenクラスによって移動するムービークリップに対して
同時にアルファ値を0〜100%へ変更する効果を追加したいのですが
そのような事は可能なのでしょうか?

お手数をお掛けして申し訳ありません。

早々のご回答、ありがとうございました!
Response 04
2008年04月13日 (日) 11時08分> joy 
036さん、
おはようございます。
以下の様に、alphaプロパティ専用のTweenクラスを追加します。但し、durationは、Tween1と合わせてください。

/*〜追記後〜*/

stop();

import mx.transitions.Tween;
import mx.transitions.easing.*;

var Tween1:Tween = new Tween(this.Content1_mc, "_y", Strong.easeInOut, 500, 200, 2, true);

var Tween2:Tween = new Tween(this.Content1_mc, "_alpha",Strong.easeInOut , 0, 100, 2, true);
/*追記分: Tween1に合わせて、Strong.easeInOutにし、durationは、2秒にしてます*/

Tween1.onMotionFinished = function():Void {
_root.gotoAndStop(2);
};
Response 05
2008年04月13日 (日) 20時43分> 036 
joyさん

この度もご丁寧にありがとうございました!

お陰さまで理想とする効果を再現できました。
いつもお世話になる一方で申し訳ありません。

本当にありがとうございました!

このページの先頭へ