0

因此,我正在使用 Adob​​e Director 进行测验,但我在整体环境中苦苦挣扎。

我将以下 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 的值。

4

3 回答 3

1

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

在 enterframe sprite(3).memberNum = 154+gscore 结束

于 2013-03-09T14:35:28.567 回答
0

想通了,道歉。

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

我相信我的问题在于全局变量实例的默认值是无效的。

于 2013-03-08T03:26:02.507 回答
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
于 2014-01-28T05:14:29.467 回答