下面介绍一下脚本语言的三种基本结构:
1、顺序结构:
if logicalExpression1 then
statement(s)
else if logicalExpression2 then
statement(s)
else if logicalExpression3 then
statement(s)
end if
2、控制结构
case expression of
expression1 : Statement
expression2 : multipleStatements
...
expression3, expression4 : Statement
{otherwise : statement(s)}
end case
3、循环结构
repeat while testCondition
statement(s)
end repeat
及
repeat with counter = start to finish
statement(s)
end
在实际使用中,上述结构经常用到,至于语言细节描述,限于篇幅,不作具体讲解,请参阅帮助和其它低版本Director的参考书籍。
在Director 8的系统路径…/learning/Lingo_examples下有个画图的例子Imaging.dir。在该例中使用了行为库中的“Multi-State Button”行为。现在要求以此为蓝本,改成一个不用行为库、更简洁易懂的例子。
由于讲解的方式所限,在此讲一讲主要思路,欢迎有兴趣的朋友与我联系,互相交流。
沿用系统实例的部分画图工具图片,保留四个显示颜色的大选色板,用四个画图工具(注意,不是按钮)制作四个光标用来作图。方法如下:单击Insert/Media Element/Cursor…菜单项,选择画图图片,分别制作成光标并保存即可。
因为画图基本上全部由脚本实现,因而在舞台上布置好精灵后,将总谱中的帧长度全部设为一帧。
脚本编制思路如下:由选色板的激活状态选择颜色,在选色板的MouseDown事件中写脚本如下:
on mouseDown me
global drawcolor
--设置鼠标点击位置,由此得到颜色并替换精灵的剧组成员
yellowRect = rect(545,269,563,286)
redRect = rect(561,269,579,286)
blueRect = rect(545,285,563,302)
greenRect = rect(561,285,579,302)
--判断鼠标点击位置,得到颜色值,并替换该精灵的剧组成员
if (the clickloc).inside(yellowrect) then
drawcolor = rgb(255,255,0)
sprite(me.spriteNum).member = member("yellowcolor")
else if (the clickloc).inside(redRect) then
drawcolor = rgb(255,0,0)
sprite (me.spriteNum).member = member("redcolor")
else if (the clickloc).inside(Bluerect) then
drawcolor = rgb(0,0,255)
sprite(me.spriteNum).member = member("bluecolor")
else
drawcolor = rgb(0,255,0)
sprite(me.spriteNum).member = member("greencolor")
end if
end
|