我是 Framer 的新手,只有 Javascript 的工作知识。
我正在尝试使用Framer 音频播放器模块创建一个 Framer 原型。它适用于我想出的基本情况,但现在我正在尝试做一些更复杂的事情,我被卡住了。
我正在尝试做的事情: 我想在悬停时播放一个音频剪辑。如果用户在音频剪辑的持续时间内一直悬停,那么一旦第一个剪辑结束,另一个“成功”剪辑应该播放一次。
在下面的代码中,第一个剪辑播放正常,但第二个剪辑不断重复。我尝试.once()
通过输入——试错风格——各种形式的'audio.player.once "ended", ->'
and来使用'audio.player.play().once'
, 但这种方法不起作用。.once
我在 Framer 文档中也找不到。
这是我的 Framer/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
我觉得这里可能有一个直截了当的答案,但我有限的理解让我感到困惑。有人有想法吗?谢谢!