用verbose语法赋值
Lingo中的逻辑运算符使用的是单等号"=",编码中使用形如
set param to value
put value into param
的verbose语法进行赋值较为清晰。
关心case-insensitive
由于大小写不敏感case-insensitive,要注意字符串的比较。
put "A" = "a"
-- 1
关心case-sensitive
Lingo绝大部分时候是大小不敏感的。只有一种情况,就是property list的property用字符串时,大小写是敏感的。
pl = ["m": 1, "M": 720]
同一语句中Verbose语法和Dot语法不能混用
听起来像废话,但保不齐就会这么写,然后怎么都找不到语法错误原因。
set sprite(1).visible to true -- 错的!
set the visible of sprite 1 to true -- 对了
Case的特殊特点
Lingo的Case后可以用“,”分割多个表达式。另外最末的otherwise可加:也可不加。推荐加,好看。-_-b
-- Lingo syntax
case (_key.key) of
"a" : _movie.go("Apple")
"b", "c":
_movie.puppetTransition(99)
_movie.go("Oranges")
otherwise: _sound.beep()
end case
Repeat的特殊特点
有个 repeat with ... in .. 实用,in后可以是list和对象。
系统事件stepFrame
Frame系的系统事件有prepareFrame, stepFrame, enterFrame, exitFrame, 就只有这个stepFrame不是frame behavior的system event,它是parent script的event。
movie script中的property
property是behavior或parent script的局部变量。非要写的话,在movie script中写property aa也并不会引起语法错误之类,但由于movie没有me概念,movie script中的property实际上是谁都够不着的死物。