私は、いくつかのトゥイーンが適用されたmcを持っていますが、完了する前にロールアウトすると、ブレークします。トゥイーンの実行中にボタンを無効にしたくないのは、実行中にロールアウトしても何も起きず、そのフレームに詰まってしまうためにユーザーを混乱させるからです。AS2:モーションが完了するまでロールアウトを実行しない
私が望むのは、トゥイーン(またはその後)の間に展開を確認することですが、トゥイーンが完了するまで実行されません。ロールアウト機能からロールオーバー機能でトゥイーンのonmotionfinishedにアクセスすることはできません。
アイデア?
それはここに役立ちます場合は、私のロールオーバーです:
buttons[i].onRollOver = function() {
var oppX:Number = Stage.width-this._x;
var oppY:Number = Stage.height-this._y;
if (oppX-209.8<=20) {
var difference:Number = Math.abs(20-(oppX-209.8));
oppX += difference;
} else if (oppX+209.8>=780) {
var difference:Number = Math.abs(780-(oppX+209.8));
oppX -= difference;
}
if (oppY-172.1<=20) {
var difference:Number = Math.abs(20-(oppY-172.1));
oppY += difference;
} else if (oppY+172.1>=580) {
var difference:Number = Math.abs(580-(oppY+172.1));
oppY -= difference;
}
var TweenX:Tween = new Tween(circle, "_x", mx.transitions.easing.Strong.easeOut, circle._x, oppX, 1, true);
var TweenY:Tween = new Tween(circle, "_y", mx.transitions.easing.Strong.easeOut, circle._y, oppY, 1, true);
circle.gotoAndPlay("out");
myColor = new Color(this);
myColor.setTint(153,255,0,30);
for (MovieClip in buttons) {
delete buttons[MovieClip].onEnterFrame;
if (buttons[MovieClip] != this) {
buttons[MovieClip].enabled = false;
myColor = new Color(buttons[MovieClip]);
myColor.setTint(255,255,255,80);
myColor = new Color(buttons[MovieClip]._line);
myColor.setTint(255,255,255,80);
}
}
};
と私のrollOutが:
buttons[i].onRollOut = function() {
this.onMotionComplete = function() {
var TweenX:Tween = new Tween(circle, "_x", mx.transitions.easing.Strong.easeOut, circle._x, 400, 0.5, true);
var TweenY:Tween = new Tween(circle, "_y", mx.transitions.easing.Strong.easeOut, circle._y, 300, 0.5, true);
TweenY.onMotionFinished = function() {
for (MovieClip in buttons) {
buttons[MovieClip].enabled = true;
}
};
this._parent.circle.gotoAndPlay("in");
for (MovieClip in buttons) {
buttons[MovieClip].onEnterFrame = function() {
moveButtons(this);
controlButtons(this);
};
myColor = new Color(buttons[MovieClip]);
myColor.setTint(255,255,255,0);
}
};
'_currentframe'と' _totalframes'はあなたの良い友人です。 – JiminP
それは私が恐れているアクションスクリプトのトゥイーンです。シングルフレーム。 –
enterFrameを使用してオブジェクトを手動でトゥイーンしたり、トゥイーンライブラリを使用していますか?トゥイーンライブラリの場合は、アニメーションを完了するためのイベントハンドラ/コールバックが必要です。 onEnterFrameをアニメーション化する場合、オブジェクトの現在の位置が最終位置であるかどうかを確認できます。 –