Livecode 无法识别变量值

Livecode not recognizing variable value

我在 Livecode 中构建了一个应用程序,卡片上有九个按钮。其中八个按钮播放简短的音乐样本,并有一个变量保存按钮被按下的次数。按住鼠标按钮也可以在卡片周围拖动按钮。第九个按钮启动一个脚本,该脚本调查与八个样本按钮相关的变量,并确保所有样本都至少被听过一次。该脚本将八个变量放入一个变量中,然后检查它们是否为空。如果是,脚本 returns 会显示一条错误消息,提示他们确保已听完所有样本。我遇到的问题是,这适用于除一个按钮之外的所有按钮——与变量 gVar08 关联的按钮。如果未按下此按钮,则 gVar08 保持为空并且不会触发错误消息。我不知道为什么。下面提供了与示例按钮和评估按钮关联的脚本。

#Code for music sample button
global gVar08
on mouseDown
   wait 30
   if the mouseClick then
   play audioClip "samples/C1/C1-8ConcertoForViolinStringsAndHarpsichordInGR202IAllegroMolto.wav"
   set the filename of image "icn08" to "icons/if_abstract_symbol-03_1571964a.png"
   add 1 to gVar08
   else
      grab me
      end if
end mouseDown


#Code assigned to 9th button: Check to see if all samples played at least 1x
global gVar01, gVar02, gVar03, gVar04, gVar05, gVar06, gVar07, gVar08, gErr01
local sClct
on mouseUp
   put gVar01, gVar02, gVar03, gVar04, gVar05, gVar06, gVar07, gVar08 into sClct
   repeat for each item local in sClct
      if local = "" then
         answer "Have you listened to all of the samples?  Be sure to play them all."
         add 1 to gErr01
         break
      end if
   end repeat 
end mouseDown

由于 local 是保留字,您是否尝试过使用不同的变量?

我无法让你的音乐样本按钮代码工作,可能是由于 mouseDown 处理程序中的 mouseClick 函数没有触发,所以我想到了这个选项:

global gVar08
local sMove

on mouseUp
   if sMove then
      put empty into sMove
      exit to top --Avoids playing the audio and adding 1 to gVar08 on move
   end if
   play audioClip "samples/C1/C1-8ConcertoForViolinStringsAndHarpsichordInGR202IAllegroMolto.wav"
   set the filename of image "icn08" to "icons/if_abstract_symbol-03_1571964a.png"
   add 1 to gVar08
end mouseUp

on mouseStillDown
   if the mouse is down then
      put "true" into sMove
      grab me
   end if
end mouseStillDown

希望对您有所帮助。

保罗

列表中的 gVar08 后需要一个逗号和“”。当它为空时,列表以 7 结尾。添加一个 this 应该始终包括最后一个值,即使它是空的。