蔡军生先生第二人生的源码分析(102)脚本的构造

前面我们学习怎么样打开窗口来创建脚本,接着下来就需要知道这些脚本是做什么用的,这样最终才会按它的语义来正确地执行起来。
现在我们能够查看脚本的内容:
default {  state_entry()  {   llSay(0, “Hello, Avatar!”);  }
 touch_start(integer total_number)  {   llSay(0, “Touched.”);  } }
如果您编写过程序, 你会觉得很熟悉其中的几个关键字,下面我来逐字分析。关键字default的作用是指示LSL程序从这里开始执行。 接下来的内容, 你将会了解到LSL程序可有多个状态,而现在你只需要知道每一个LSL程序至少需要一个状态default。
每对花括号{和}都缺省封装了事件处理器 — 在上面实例中是state_entry和touch_star。 当程序执行到这里的时候,state_entry事件被触发。 所以在我们提供的实例中, 当你点击保存, 然后脚本被上传到模拟器程序中, 而且脚本被附加到目标物体上。 LSL程序当执行到default的时候。 这将会触发state_entry事件, 然后任何位于state_entry中的代码都将被执行。
在上面的的实例中, 唯一的代码是库函数LLSay。 LLSay允许一个脚本发送聊天文本。 比如类似一个虚拟化身进入到一个既定的通道(Channel)中。 Channel 0表示所有的虚拟化身都能听到发送出的信息,所以当在channel 0说“Hello, Avatar!”, 脚本将会确保附近的所有虚拟化身都能够听到。 LLSay位于左花括号后边,内容包括整数0和字符串“Hello, Avatar”。
第二个事件处理器是touch_start。当我们点击盒子的时候开始调用touch_start。 然后你会收到一个回响信息“Touched(已触摸)”, 这就是touch_start事件处理器的工作。 touch_start事件处理器中的唯一代码是llSay库函数, 刚才我们已经介绍过了。
 
在这个脚本例子里使用的函数 llSay 是内部库函数,也就是第二人生自己定好这个函数的功能是做什么用的。在后面的解释执行这个脚本时,就会按照设定的内容来运行。不过,要执行一个脚本,要经历许多步骤:词法分析、语法分析、语义分析、生成中间代码、执行中间代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值