Felix教你趣玩LSL脚本
网络生活
在第19期,Felix给我们介绍了LSL的概念以及它的应用,让我们对LSL有一个初步的了解,但要掌握它就需要深入的去实践,今天就让LSL脚本高手——Felix,将带给我们两个有趣的LSL实例,让我们体验一下LSL的魅力吧!
做一个粒子动画,很简单
下面这个例子是用粒子系统函数 llParticleSystem 发出一串黄色的光芒粒子喷射效果. 程序延迟十秒然后重置。
// Code by Felix xu of www.slbazar.com
integer second;
default
{
state_entry()
{
second == 0;
llParticleSystem( [] ); //粒子系统重置;
}
}
state new
{
touch_start(integer total_number)
{
//输出粒子系统
llParticleSystem(
[
PSYS_PART_FLAGS, PSYS_PART_WIND_MASK | PSYS_PART_EMISSIVE_MASK,
PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_EXPLODE,
PSYS_PART_START_COLOR, <1,1,0>
] );
llSetTimerEvent( 1 );
}
timer () //重置之前延迟十秒
{
second ++;
if(second > 10)
{
llResetscript(); //脚本重置
}
}
}
// End of code;
最后的效果见图1、图2。


你也能编定时器
llSetTimerEvent 函数用来调用Timer 事件,下面的例子使用Timer事件,随机改变物体的背景颜色,调用频率为每秒一次。十秒后程序脚本重置为初始状态。
integer count;
default
{
state_entry()
{
llSetTimerEvent( 0 ); //停用 timer事件
llSetColor( <1,1,1> , ALL_SIDES );
}
touch_start(integer total_number)
{
count == 0; // zero count
llSetTimerEvent( 1 );
}
timer () // timer事件启动后每次运行内部的代码一次
{
count ++; //count递增
llSetColor(
if(count > 10)
{
llResetscript();
}
}
}
// End of code
运行后效果见图3、图4。一共变化十次,每秒钟一次,此处仅列出其中两种颜色。

