を解決するために必要なもの... を提供し、ムービークリップをステージ上に配置されている場合は、あなたが
「your_mc」という名前のインスタンス内のトゥイーンを持っている、あなたは、これはクラスベースではないように注意してください。
import flash.display.MovieClip;
import flash.events.MouseEvent;
var your_mc:MovieClip = your_mc;
your_mc.stop()
var clipStopped:Boolean = true;
your_mc.addEventListener(MouseEvent.MOUSE_OVER,playStopClip);
your_mc.addEventListener(MouseEvent.MOUSE_OUT,playStopClip);
function playStopClip(e:MouseEvent):void{
switch (clipStopped) {
case false:
clipStopped = !clipStopped;
break;
case true:
clipStopped = !clipStopped;
break;
}
if (!clipStopped){
your_mc.gotoAndPlay(1);
}else{
your_mc.gotoAndStop(1);
}
}
これを試すことができ、と考えるべきです基本的な例! もっと具体的なものをご希望の場合は、あなたの質問を編集してください!ここ
本当に基本的な例:
fla file
swf file
これは、あなたがしてください、より効率的な何かをしたい場合は、単にあなたの質問を編集し、クリーンではない、そう。 MovieClip全体を再生する場合は、MC.currentFrameとMC.totalフレームをチェックし、ブール値を追加してこれを確認してください。 MCはアニメーションが終了する前に停止できません。
よろしくお願いいたします。 ニコラス
[EDIT] マウスが終わったときには、最後にあなたのムービークリップを再生します...
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
var isRunning:Boolean = false;
var your_mc:MovieClip = your_mc;
your_mc.stop()
var clipStopped:Boolean = true;
your_mc.addEventListener(MouseEvent.MOUSE_OVER,playStopClip);
function playStopClip(e:MouseEvent):void{
if(clipStopped && isRunning==false){
trace("is Running = " + !isRunning)
your_mc.gotoAndPlay(1);
clipStopped = !clipStopped;
isRunning = true
your_mc.addEventListener(Event.ENTER_FRAME,changeStatus);
}
}
function changeStatus(e:Event):void{
if (your_mc.currentFrame == your_mc.totalFrames){
isRunning = false;
clipStopped = true;
your_mc.gotoAndStop(1);
your_mc.removeEventListener(Event.ENTER_FRAME,changeStatus);
}
trace(your_mc.currentFrame + "/" + your_mc.totalFrames);
}
fla file
swf file
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
var isRunning:Boolean = false;
var your_mc:MovieClip = your_mc;
your_mc.stop()
var clipStopped:Boolean = true;
your_mc.addEventListener(MouseEvent.MOUSE_OVER,playStopClip);
function playStopClip(e:MouseEvent):void{
if(clipStopped && isRunning==false){
trace("is Running = " + !isRunning)
your_mc.gotoAndPlay(1);
clipStopped = !clipStopped;
isRunning = true
your_mc.addEventListener(Event.ENTER_FRAME,changeStatus);
}
}
function changeStatus(e:Event):void{
if (your_mc.currentFrame == your_mc.totalFrames){
isRunning = false;
clipStopped = true;
your_mc.stop();
your_mc.removeEventListener(Event.ENTER_FRAME,changeStatus);
}
trace(your_mc.currentFrame + "/" + your_mc.totalFrames);
}
fla file
swf file
これ以上MouseEvent.MOUSE_OUTは、ムービークリップを最後のフレームに再生したい場合にここにあります。
MouseEvent.MOUSE_OVERは、ムービークリップのアニメーションが完了したときにのみ使用できます。
だから、あなたはフィードバックを与えていないとの質問は不明であるとして:あなたはあなたが今持っているもののコード示すことによって開始することができます
「DownVote」
[/ EDIT]。 – frankhermes
ボタンには状態があり、マウスを動かすと、ボタンが「オーバー」状態から「アップ」状態に戻り、「オーバー」状態のすべてが破棄されます(再生したいクリップと推定されます)。最初にムービークリップをボタンから引き出し、ボタンとクリップの動作をスクリプト化する必要があります。 – Organis