Antworten auf deine Fragen:
Neues Thema erstellen

Per bestimmter Taste eine Aktion starten

KillerK

Noch nicht viel geschrieben

Hallo, bin absoluter Anfänger was das angeht.
Ich will per bestimmtem Tastendruck ein kleines Video abspielen. Also, eigentlich jeweils 2 Videos.
Konkret, mit "#" das erste Video und mit "a" das zweite. Die Tastencodes sind laut Adobe Flash 191 und 65.
Es gibt ja diese Codefragmente, aber da konnte ich nur entdecken, dass per _beliebiger_ Taste die Videos gestartet werden, was meinem Zweck ja nicht dient.
Zusätzlich möchte ich, dass man wenn ein Video läuft, das andere nicht aktiviert werden kann.

So sieht meins derzeit aus (erstmal nur mit einem Video):
Code:
stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_KeyboardDownHandler);

function fl_KeyboardDownHandler(event:KeyboardEvent):void
{

    movieClip_1.play();
    trace("Tastencode gedrückt: " + event.keyCode);

}
Damit klappt es auch, dass ich per beliebiger Tase das eine Video abspiele.

Ich denke mal, dass das für die meisten hier kein großes Problem ist, von daher hoffe ich auf schnelle Hilfe. ;)
 

A

ad86

Guest

AW: Per bestimmter Taste eine Aktion starten

Hi,

Code:
var moviePlaying:Boolean=false;
stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_KeyboardDownHandler);

function fl_KeyboardDownHandler(event:KeyboardEvent):void
{
    if (event.keyCode==191 &&  !moviePlaying){
        moviePlaying=true;
        movieClip_1.play();
    }

    if (event.keyCode==65 &&  !moviePlaying){
        moviePlaying=true;
        movieClip_2.play();
    }

}

Sollte funktionieren.
moviePlaying sollte wenn ein Video zu Ende ist auf false gesetzt werden.

MFG ad86
 

KillerK

Noch nicht viel geschrieben

AW: Per bestimmter Taste eine Aktion starten

Danke sehr! Hilft mir schonmal extrem weiter. Allerdings habe ich jetzt noch das Problem, dass beide zeitgleich abgespielt werden können, sollen sie aber nicht. ;)

Mein Code:

Code:
var moviePlaying:Boolean=false;
stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_KeyboardDownHandler);

function fl_KeyboardDownHandler(event:KeyboardEvent):void
{
    if (event.keyCode==191 &&  !moviePlaying){
        moviePlaying=true;
        movieClip_1.play();
        moviePlaying=false ;
    }

    if (event.keyCode==65 &&  !moviePlaying){
        moviePlaying=true;
        movieClip_2.play();
        moviePlaying=false ;
    }

}
 
A

ad86

Guest

AW: Per bestimmter Taste eine Aktion starten

Hi

das sollte dann funktionieren:

Code:
var moviePlaying:Boolean=false;
stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_KeyboardDownHandler);

function fl_KeyboardDownHandler(event:KeyboardEvent):void
{
    if (event.keyCode==191 &&  !moviePlaying){
        moviePlaying=true;
        movieClip_1.play();
        //Das sollte nicht hier stehen:moviePlaying=false ;
    }
    [COLOR="Red"]else[/COLOR]
    if (event.keyCode==65 &&  !moviePlaying){
        moviePlaying=true;
        movieClip_2.play();
        //Das sollte nicht hier stehen:moviePlaying=false ;
    }

}

Eine Frage, bedingt durch "moviePlaying=false ;": Wo hast Du das Script hingeschrieben? Auf eine Ebene, in einer Dokumentenklassse?
Durch Dein Hinzufügen dieser Zeile nach movieClip_2.play() kommt ein Fehler zu Stande.

MFG ad86
 
Zuletzt bearbeitet von einem Moderator:

KillerK

Noch nicht viel geschrieben

AW: Per bestimmter Taste eine Aktion starten

Wie gesagt, bbin kompletter Anfänger. Ich trag das Script einfach ein, wenn ich F9 drücke. Habe jetzt nicht drauf geachtet, ob ich das wo anders eintragen muss, als ich es gemacht habe.
Wo muss das denn hin?
Wenn ich deinen 2. Code eingebe, ist es bei mir so, dass ich kein Video mehr starten kann, nachdem ich eins (egal welches) ausgeführt habe.
 
A

ad86

Guest

AW: Per bestimmter Taste eine Aktion starten

Hi,

Wie gesagt, bbin kompletter Anfänger. Ich trag das Script einfach ein, wenn ich F9 drücke. Habe jetzt nicht drauf geachtet, ob ich das wo anders eintragen muss, als ich es gemacht habe.
Wo muss das denn hin?
Wenn ich deinen 2. Code eingebe, ist es bei mir so, dass ich kein Video mehr starten kann, nachdem ich eins (egal welches) ausgeführt habe.

Ja das kommt wegen der Zeile moviePlaying=false ;
Dort wo Sie vorher war, ist Sie fehl am Platz, denn
1. durch moviePlaying=true ; setzt Du die Variable
2. sagtst Du dem Video, es soll abspielen (movieClip_1.play())
3. Gleich danach setzt Du die Variable moviePlaying auf true, spricht sobald Du wieder eine Taste drückst, wird das entsprechende Video abgespielt.

Da ich nicht genau Deinen Aufbau kenne, versuche mal in das Video movieClip_2 und movieClip_1 jeweils eine neue Ebene zu erstellen, dann markierst Du den letzten Frame in dieser Ebene und fügst ein Schlüsselbild ein (Müsste über Rechtsklick funktionieren). Das Schlüsselbild markieren, wenn es nicht schon markiert ist, F9 drücken und "moviePlaying=false ;" eingeben (ohne Anführungszeichen natürlich).

Ich hoffe, Du verstehst, was ich meine.

MFg ad86
 

KillerK

Noch nicht viel geschrieben

AW: Per bestimmter Taste eine Aktion starten

Hm, ich bekomm es so leider nicht hin. Vielleicht hilft es ja,wenn ich die Datei mal uploade?
Bei mir sieht es jetzt so aus:

Ebene 1 = movieClip_1. Im 2. Bild dann der code "moviePlaying=false ;"
Ebene 2 = movieClip_2. Im 2. Bild dann der code "moviePlaying=false ;"
Ebene 3 : Bild 1 =

Code:
var moviePlaying:Boolean=false;
stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_KeyboardDownHandler);

function fl_KeyboardDownHandler(event:KeyboardEvent):void
{
    if (event.keyCode==191 &&  !moviePlaying){
        moviePlaying=true;
        movieClip_1.play();
    }
    else
    if (event.keyCode==65 &&  !moviePlaying){
        moviePlaying=true;
        movieClip_2.play();
    }

}
Es klappt alles so, wie ich es möchte, nur dass das andere Video erst wieder abgespielt werden soll, wenn das jeweils andere fertig ist.

Hab ja schon ein paar Ideen, aber weiß nicht wie ich das letzten Endes umsetzen kann.
 
A

ad86

Guest

AW: Per bestimmter Taste eine Aktion starten

Hi,

eine Frage zum Verständnis:

Die Videos sind einzelne MovieClips, oder? (in der Bibliothek hätten Sie ein weiß-lilanes Symbol).

Wenn ja:
Doppelklick auf das Video1- und Video2-Element in der Bibliothek (wenn Du auf den Text doppelklickst, wird der Name selektiert, klickst Du auf das Symbol, sollte es richtig sein)
Darin fügst Du eine neue Ebene ein, am Ende ein neues Schlüsselbild mit moviePlaying=false;


ODER noch eine andere Möglichkeit, die mir jetzt einfällt:

Code:
stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_KeyboardDownHandler);

function fl_KeyboardDownHandler(event:KeyboardEvent):void
{
    if (event.keyCode==191 &&  movieClip_1.currentFrame==1 &&movieClip_2.currentFrame==1){
        movieClip_1.play();
    }
    else
    if (event.keyCode==65 &&  movieClip_1.currentFrame==1 &&movieClip_2.currentFrame==1){
        movieClip_2.play();
    }

}

Mit dieser Methode fällt das moviePlaying=true; und das moviePlaying=false; im zweiten Bild weg.
Zur Info für die erste if-Abfrage (die zweite ist ja ähnlich):
Wenn keyCode==191 und das erste Video (bzw. MovieClip) an Frame Nummer 1 ist und dies auch der Fall bei Video 2 ist, dann spiel Video 1 ab. Hintergrund: Das Video müsste ja bei Frame 1 sein, wenn es noch nicht gestartet ist. Dabei gehe ich davon aus, das movieClip_1 und movieClip_2 MovieClips sind.

SOLLTE ich irgendetwas falsch verstanden haben, versuche ein Screenshot von deiner Zeitleiste und Deiner Bibliothek zu machen. Dann kenne ich den Aufbau, da brauchst Du also Deine Datei nicht uploaden.

MFG ad86
 

KillerK

Noch nicht viel geschrieben

AW: Per bestimmter Taste eine Aktion starten

Also, ich verwende FLV dateien als movieclips (muss ich die zum Symbol konvertieren? Kann ich auch andere Formate nehmen?), die ich dann per Flashplayer ohne Skin einbinde.
So kommt es, dass ich, sofern ich sie nicht als Symbol konvertiere, in der Bibliothek nicht movieClip_1 und movieClip_2 habe, sondern das Symbol für den FLVPlayback.
Wenn ich die allerdings zum Symbol (und damit movieclip?) mache, sind die Videos beim Testen nicht mehr zu sehen.

Vielleicht zum besseren Verständnis, damit mein Anliegen klarer wird (auch wenn ich davon ausgehe, dass du schon weißt, was ich möchte ;)): Ich will auf der Tastatur 2 "Buzzer" haben, wie zum Beispiel bei Schlag den Raab. Und bei so einem Buzzer ist es natürlich fatal, wenn beide gedrückt werden können, weil man sonst nicht sieht, wer zuerst gedrückt hat. Der andere muss also gesperrt werden.

Hier mal ein Screen:

Ebene 1 = erses Video
Ebene 2 = zweites Video
Ebene 3 = Hintergrund und Script
 
A

ad86

Guest

AW: Per bestimmter Taste eine Aktion starten

Hi,

hier ist jetzt die Lösung.

1. Ebene as3 genannt, ein Frame lang und im ersten Frame ist das Script
2. Ebene Video1
3. Ebene Video2

Und hier das Script:
Code:
var movieIsPlaying:Boolean=false;
movieClip_1.addEventListener(Event.COMPLETE, completeHandler);
movieClip_2.addEventListener(Event.COMPLETE, completeHandler);
stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_KeyboardDownHandler);

function fl_KeyboardDownHandler(event:KeyboardEvent):void{
    if (event.keyCode==191 && !movieIsPlaying){
        movieClip_1.play();
	movieIsPlaying=true;
	movieClip_1.visible=true;//wenn beide MovieClips übereinander sind noetig
	movieClip_2.visible=false;// sonst kannst Du die zwei Zeilen loeschen
    }
    if (event.keyCode==65 && !movieIsPlaying){
        movieClip_2.play();
	movieIsPlaying=true;
	movieClip_1.visible=false;//wenn beide MovieClips übereinander sind noetig
	movieClip_2.visible=true;// sonst kannst Du die zwei Zeilen loeschen
    }
}

function completeHandler(e:Event):void{
	movieIsPlaying=false;
}

MFG ad86
 

KillerK

Noch nicht viel geschrieben

AW: Per bestimmter Taste eine Aktion starten

Du bist der größte! Herzlichen Dank! Super, dass du dir die Zeit genommen hast. :)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.620
Beiträge
1.538.373
Mitglieder
67.544
Neuestes Mitglied
janusbarman
Oben