level 10
说在前面的话:
“世间万物都是静止的。”
因为有了“时间(轴)”,所以才呈现出各方的美丽。
2013年07月09日 07点07分
2
level 10
好了。
下面来剖析一下GIF的内核:
integer animOn = TRUE; list effects = [LOOP];
//LOOP 循环播放,此处为电影效果
//ROTATE 翻转效果
//SCALE 模型放大、缩小效果integer movement = 0;
integer face = ALL_SIDES; //将"ALL_SIDES"更换成任何数值(以立方体为例:1-6),可以有效控制任一面的效果
integer sideX = 1;
integer sideY = 1;
float start = 0.0; //开始于某个位图(设置动画起点)
float length = 0.0; //动画长度(长度决定了结束于某个位图)
float speed = 10.0;
initAnim()
{
if(animOn)
{
integer effectBits;
integer i;
for(i = 0; i < llGetListLength(effects); i++)
{
effectBits = (effectBits | llList2Integer(effects,i));
}
integer params = (effectBits|movement);
llSetTextureAnim(ANIM_ON|params,face,sideX,sideY, start,length,speed);
}
else
{
llSetTextureAnim(0,face,sideX,sideY, start,length,speed);
}
}fetch()
{
string texture = llGetInventoryName(INVENTORY_TEXTURE,0);
llSetTexture(texture,ALL_SIDES);
list data = llParseString2List(texture,[";"],[]);
llOwnerSay( llDumpList2String(data ,","));
string X = llList2String(data,1);
string Y = llList2String(data,2);
string Z = llList2String(data,3);
sideX = (integer) X;
sideY = (integer) Y;
speed = (float) Z;
if (speed)
initAnim();
}default
{
state_entry()
{
fetch();
}
changed(integer what)
{
if (what & CHANGED_INVENTORY)
{
fetch();
}
}
}
2013年07月09日 08点07分
7
立方体的面好像是从0开始的,0到5 还是1到6?
2013年07月10日 13点07分
回复 len0112 :我的那个是:0是顶面,5是底面,6及以上都是相当于ALL_SIDES
2013年07月10日 21点07分