Wie kann ich verhindern, einen Film zu spielen, wenn ich auf dem nächsten frame - FLASH-CS4?
Habe ich vier Videoclips (.f4v) in 4 frames in einem Film mit Uhr Tasten.. Diese f4vs importiert wurden, in einen Haupt-Film-container, der die Schaltflächen weiter und zurück. Aber wenn ich einen Film wiedergeben drücken, dann nächsten frame, der Film spielt weiterhin im hintergrund. Wie kann ich den shop? Der code unten zeigt den actionscript-Code für einen von der Film-clips und anschließend den actionscript-Code in der Haupt-Film. Ich bin ein flash-Neuling, also alle Hilfe dankbar.
Vielen Dank.
stop();
watch1_btn.addEventListener(MouseEvent.CLICK, playMovie1);
function playMovie1(event:MouseEvent):void
{
movie1_mc.play();
}
//Button Listeners
next_btn.addEventListener(MouseEvent.CLICK, nextSection);
prev_btn.addEventListener(MouseEvent.CLICK, prevSection);
function nextSection(event:MouseEvent):void {
var thisLabel:String = pages_mc.currentLabel; //gets current frame label as string
var thisLabelNum:String = thisLabel.replace("sct", ""); //cuts the leading letters off of the number
var curNumber:Number = Number(thisLabelNum); //converts that string number to a real number
if (curNumber < 5){
var nextNum:Number = curNumber + 1; //adds 1 to the number so we can go to next frame label
pages_mc.gotoAndStop("sct" + nextNum); //This allows us to go to the next frame label
}
}
///////////////////////////////////////////////////////////////////////////
function prevSection(event:MouseEvent):void {
var thisLabel:String = pages_mc.currentLabel; //gets current frame label as string
var thisLabelNum:String = thisLabel.replace("sct", ""); //cuts the leading letters off of the number
var curNumber:Number = Number(thisLabelNum); //converts that string number to a real number
var prevNum:Number = curNumber - 1; //subtracts 1 from the number so we can go to next frame label
pages_mc.gotoAndStop("sct" + prevNum); //This allows us to go to the previous frame label
}
InformationsquelleAutor ladygeekgeek | 2010-04-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
kurz vor der gotoAndStop () - Funktion, setzen Sie einfach in eine movie1_mc.stop(); Befehl, dies wird verhindern, dass der clip vor dem ändern der Rahmen.
nur auf ein Entwicklungs-Seite der Dinge, wenn Sie nur die änderung der video denken über die Verwendung nur der eine frame, und das hinzufügen/wegnehmen das video von der Bühne mit addChild() und removeChild(). die Dinge sind in der Regel so viel einfacher zu Steuern, Allgemeine Fortbewegung frames, wie dies und ist ein gutes Werkzeug, um zu lernen.
InformationsquelleAutor longstaff
Haben Sie einige tolle Logik zum wechseln zwischen den frames, aber es gibt eine Menge, das ist unnötig. Es ist möglich, den integer-Wert des aktuellen Rahmens in einem Schritt durch Verwendung
currentFrame
. Dies kann helfen, reinigen Sie Ihren code ein wenig, da Sie nicht mehr benötigen, um split einen string konvertieren und dann auf eine Zahl.Diese Funktionen wird sich auf den vorherigen und nächsten frames, aber nicht über alle Funktionen, die Sie wollen (wie das anhalten bei Bild 5 oder Bild 1 (das ist nicht in Ihrem ursprünglichen code))... ich werde Sie hinzufügen, wenn Sie Sie verwenden möchten.
Aber es gibt einen noch einfacheren Weg zu gehen zwischen den frames. AS3 hat
nextFrame()
undprevFrame()
Funktionen, die genau das tun, was Sie klingen (im Voraus zum nächsten Bild und umkehren zu dem vorherigen frame, respectively).Ah. So erfrischend. Einfache, funktionale code.
Nun zu Ihrer eigentlichen Frage.
mc.stop();
(wo mc ist ein Platzhalter für Ihren tatsächlichen Film-clip) wird "stop" den Film-clip. Aber "stop" ist nicht wirklich das beste Wort hier zu verwenden. Diestop()
Funktion in AS3 funktioniert eher wie ein pause-button, "Pause" den Film-clip auf den frame, das abgespielt wurde, wenn die Funktion aufgerufen wird.Wenn Sie zurückkehren, um das Bild einer "Pause" - Film-clip, auf der Grundlage Ihrer code, Sie werden nur in der Lage sein, es zu spielen von dem Punkt an dem es angehalten wurde.
Ich würde empfehlen, mit einigen flash-built-in-Funktionalität für die Wiedergabe .f4v/.flv-Dateien. Check-out der adobe docs auf FLVPlayback, und check-out diese Antwort um ein Beispiel zu sehen, wie es zu benutzen.
FLVPlayback ersetzen würden, die Film-clips in Ihre Datei mit Referenzen auf Dateien auf Ihrem computer (oder einem server), damit Sie Ihre flash-Datei sehr viel kleiner. Es hat auch seinen eigenen Film steuert, so anhalten, anhalten, spielen, und andere sind alle sofort verfügbar, die keine listener-Ereignisse notwendig.
Spaß haben und Experimentieren!
Ich hoffe, das hilft!
InformationsquelleAutor Enigmadan