level 10
说在前面的话:
“世间万物都是静止的。”
因为有了“时间(轴)”,所以才呈现出各方的美丽。
2013年07月09日 07点07分
2
level 13
这个还真没做过,只玩过等分图片循环放映,用的是llSetTextureAnim();方法。
2013年07月09日 08点07分
5
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分
level 13
这个简单一点,用通道99,自己定义分割的数量。嘻嘻
integer side = ALL_SIDES;
integer speed = 8;
integer xy=1;
default {
state_entry()
{
llListen(99,"","","");
}
listen( integer channel, string name, key id, string message )
{
xy=(integer)message;
llSetTextureAnim(ANIM_ON | LOOP, side,xy,xy,0,0,speed);
}
}
2013年07月09日 08点07分
9
那个“夜上海”三个字就是用你给我的这个写的。
2013年07月09日 08点07分
回复 卸妆了 :如果就一张图,不需要规定图的名字,直接贴上去就可以了,然后直接操作。。。
2013年07月09日 08点07分
回复 len0112 :是的. 我有好多东西都是你教我的。
2013年07月09日 08点07分
回复 卸妆了 :你自己很厉害啊。我没教你什么啊,你本里就会。。。比我厉害啊。我是菜鸟。。。
2013年07月09日 14点07分
level 13
发一个修改的。
同样使用通道99控制,通道可以修改
命令是/99 4-4-10-all
99是通道,第一个是X轴,第二个是Y轴,第三个是速度,第四个是立方体的面,all是全面,单独控制使用数字。
integer side = ALL_SIDES;
integer speed = 8;
integer x=1;
integer y=1;
default
{
state_entry()
{
llListen(99,"","","");
}
listen( integer channel, string name, key id, string message )
{
list data = llParseString2List(message,["-"],[]);
x=(integer)llList2String(data,0);
y=(integer)llList2String(data,1);
speed=(integer)llList2String(data,2);
if(llList2String(data,3)=="all")
{
side= ALL_SIDES;
}
else
{
side=(integer)llList2String(data,3);
}
llSetTextureAnim(ANIM_ON | LOOP, side,x,y,0,0,speed);
}
}
2013年07月10日 14点07分
11
回复 雪飘519 :女神。
2013年07月10日 20点07分
回复 雪飘519 :今天生病了,现在在医院,今天可能不来了,头还在疼。想你。
2013年07月11日 03点07分
回复 len0112 :-抱抱-
2013年07月11日 10点07分
level 14
最简化版本 8=横面数 6=竖面数 10=1秒的帧数
default{ state_entry() { llSetTextureAnim(ANIM_ON | LOOP, ALL_SIDES,8,6,0,0,10); }}
2013年07月20日 13点07分
13
这个简洁 不易懂 :)
2013年07月20日 14点07分
汗。。。这个本来就是这么一句的,所做的其它设定,都是为了能够使用命令来完成变量的多样化的。 程序的中心思想是不管代码多复杂,呈现给客户使用的是最简单易懂的操作。
2013年07月20日 14点07分
回复 雪飘519 :
2013年07月20日 15点07分