Adobe Director - Lingo测验

时间:2013-03-08 02:25:28

标签: lingo adobe-director

所以我正在使用Adobe导演进行测验,但我在整体环境中苦苦挣扎。

我正在为每个按钮添加以下Lingo脚本并给出正确答案:

  on mouseDown
    global gscore
    set gscore = gscore + 1

在最后阶段,我使用以下Lingo脚本检查获取的点,并显示结果的相应精灵。

on enterFrame
  if gscore = 0 then set the memberNum of sprite (3) to 154
end if
  if gscore = 1 then set the memberNum of sprite (3) to 155
end if
  if gscore = 2 then set the memberNum of sprite (3) to 156
end if
  if gscore = 3 then set the memberNum of sprite (3) to 157
end if
  if gscore = 4 then set the memberNum of sprite (3) to 158
end if
  if gscore = 5 then set the memberNum of sprite (3) to 159
end if
end

所以我的错误似乎说没有声明的变量,但它是全局的吗?那么为什么它不承认它。第一个脚本附加到与正确答案对应的按钮,每个按钮都有一个单独的脚本将其发送到下一个问题。用于显示结果的最后阶段应该显示某个自定义精灵,这取决于gscore的值。

3 个答案:

答案 0 :(得分:1)

很高兴你找到了解决方案。另一种方法是根本不使用if语句。您的enterframe脚本可能如下所示:

在enterframe上   精灵(3).memberNum = 154 + gscore 端

答案 1 :(得分:0)

想出来,appologies。

我删除了所有结尾if if以使其成为完整的if语句。在使用的第一个脚本上设置全局变量,将该值声明为0.然后,在递增时,它将添加到先前定义的同名全局变量。

我相信我的问题在于全局变量实例默认值为void。

答案 2 :(得分:0)

on exitframe me
   global gscore

if gscore = 0 
   set the memberNum of sprite (3) to 154
else  if gscore = 1 then 
    set the memberNum of sprite (3) to 155
else if gscore = 2 then 
   set the memberNum of sprite (3) to 156
else if gscore = 3 then 
    set the memberNum of sprite (3) to 157
else if gscore = 4 then 
    set the memberNum of sprite (3) to 158
else  if gscore = 5 then 
  set the memberNum of sprite (3) to 159
end if

end