2017-06-22 152 views
0

我是Framer新手,只有Javascript方面的工作经验。想要在Framer Studio中工作吗?

我正在尝试使用Framer Audio Player模块创建一个成帧器原型。对于我提出的基本情况,它工作得很好,但现在我正在尝试做一些稍微复杂的事情,我陷入困境。

我在做什么: 我想播放一个音频剪辑悬停。如果用户在音频片段的持续时间内保持悬停,那么只要第一个片段结束,另一个“成功”片段应播放一次。

在下面的代码中,第一个剪辑播放正常,但第二个剪辑一直重复。我尝试使用.once(),通过输入 - 试用和错误样式 - 各种形式的'audio.player.once "ended", ->''audio.player.play().once',但这种方法不起作用。 Framer文档中找不到.once

这里是我的成帧器/ CoffeeScript的代码片段:

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 

我觉得可能这里有一个简单的答案,但我有限的了解是绊倒了我。有人有想法吗?谢谢!

回答

0

那么,我觉得这是作弊,但我创造了一个新的音频对象成功的声音和瞧,我得到了我想要的行为。叹。

但是,如果有人能够帮助我理解为什么上面的代码不起作用,我将不胜感激。 :)

相关问题