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 应该始终包括最后一个值,即使它是空的。
我在 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 应该始终包括最后一个值,即使它是空的。