2017-06-22 2 views
0

Ich bin neu in Framer und habe nur ein Grundwissen über Javascript..once in Framer Studio arbeiten?

Ich versuche, einen Framer-Prototyp mit dem Framer Audio Player Modul zu erstellen. Es funktioniert gut für die grundlegende Situation, die ich mir ausgedacht habe, aber jetzt, wo ich versuche, etwas etwas Komplexeres zu tun, bleibe ich stecken.

Was ich versuche zu tun: Ich möchte einen Audioclip auf schweben spielen. Wenn der Benutzer für die Dauer des Audioclips weiter schwebt, sollte, sobald der erste Clip beendet ist, ein weiterer "Erfolg" - Clip einmal abgespielt werden.

Im folgenden Code spielt der erste Clip gut, aber der zweite Clip wiederholt sich immer wieder. Ich habe versucht, .once(), durch Eingabe - Versuchs- und Fehlerstil - verschiedene Formen von 'audio.player.once "ended", ->' und 'audio.player.play().once' zu verwenden, aber dieser Ansatz funktioniert nicht. Ich konnte .once in den Framer-Dokumenten auch nicht finden.

Hier ist mein Framer/Coffeescript-Code-Snippet:

mouseOver = (bool) -> 
if bool 
    goal.animate 
     properties: 
      opacity: .5 
      backgroundColor: "transparent" 
      borderColor: "8AFFC1" 
      borderWidth: 3 
    sensor.animate 
     backgroundColor: "green" 
     options: 
      time: 0.25 
    audio.player.play() # play first clip 
    audio.player.loop = false 
    audio.player.on "ended", -> # when first clip has ended... 
     print "done" 
     audio.player.src = "success.wav" 
     audio.player.play() # I only want this to play once! 
else 
    goal.animate 
     properties: 
      opacity: 1 
      backgroundColor: "transparent" 
      borderWidth: 3 
      borderColor: "white" 
    sensor.animate 
     backgroundColor: "red" 
     options: 
      time: 0.25 
    audio.player.pause() 
reset = !bool 

Ich fühle mich wie es hier wohl eine einfache Antwort, aber mein begrenztes Verständnis Auslösung mich. Hat jemand irgendwelche Gedanken? Vielen Dank!

Antwort

0

Nun, so, ich fühle mich wie das ist Betrug, aber ich habe ein neues Audio-Objekt für den Erfolg Sound und voila, ich habe das Verhalten, das ich wollte. Seufzer.

Aber wenn jemand mir helfen kann zu verstehen, warum der Code oben funktioniert nicht, wäre ich dankbar. :)

Verwandte Themen