> 神唱K歌 > 如何播放特效

如何播放特效

大家好,叮叮叮~脚本学习时间到!
看到其他潮人们带着漫天飞花飘过,羡慕吧。没关系,下面就教你如何用脚本播放特效,只要复制、粘贴过去即可使用哦。

好,开始。我们先讲解一下播放特效的关键API(提供给用户的脚本应用编程接口),即:实现原理。(此段有兴趣的朋友可以看看,只需求傻瓜教程的朋友可以直接跳过。)

函数:
int uPlayPartical(index,pos,path);
参数:
(1) index:整型,特效点索引,可以填数字,每个索引点只能播放一个特效,不同索引对应不同特效,最多3个索引点,播放3个特效。
(2) pos:三维向量,特效点相对于物体的偏移位置。
(3) path:字符串,特效在资源库界面上的资源地址,用户可播放自己上传的特效,也可播放官方资源。

例子:
pos = G3D.Vector3:new(0,1,0); --此句设置特效相对于绑定脚本物体的播放位置
uPlayPartical (1,pos, "uw://nailo1/3377699725494013.uParticle");

正文到脚本如下,偷懒的童鞋可直接复制哦~

MyTable =
{
EntryInfo = {ONLOADED, "state1"}; -- ONLOADED的作用是自动加载脚本,如果是第一运行脚本,需要点击脚本编辑界面的绿色加载按钮
StateList = {"state1"};
state1 =
{
Timer = -1,
TimeOut = -1,
NextState = "nil",
EventList = {};
};
}
function MyTable.state1.OnEnter(args)
uStopPartical (1); --停止播放特效。原因是为了方便特效的修改、调试,具体下一篇文章会讲到。
pos =G3D.Vector3:new(0,0,0); --设置特效相对于绑定脚本物体的播放位置, (0,0,0) 三个数视情况而定,控制特效的前后、高低、左右
uPlayPartical (1,pos, "LPA010");--播放特效专用格式,"LPA010" 是特效地址,将特效地址粘贴至此;其中的1是特效索引点,默认填1即可;
end
function MyTable.state1.OnExit(args)
end

由我世界 脚本
“LPA010”是官方自带特效的地址,效果是冒泡一样飞舞的红心,见图中手握剑柄的位置。另外还有“光翼”(“LPA01”)、“音符”(“LPA09”)等5个特效,有兴趣的朋友可以分别替换上去看看效果。
更炫的特效(比如前面提到的漫天飞花)就需要用户自己上传了,地址格式和官方特效不一样,大概是这样
uw://nailo1/3377699725494013.uParticle,以后我会做进一步的讲解。
另外Uworld有自带的特效编辑器,用户可以自己制作很多很酷的特效哦。

最后,有谁还不知道脚本如何挂载?看这里:http://www.uworld3d.com/uclient/help/24_1.html

另外,
脚本基本结构讲解见:http://bbs.uworld3d.com/forum.php?mod=viewthread&tid=4677&extra=page%3D3
脚本语法说明见:http://www.uworld3d.com/uclient/help/24_2.html
脚本API详解见:http://www.uworld3d.com/uclient/help/31.html

===========================================================================================

使用特效的朋友可能遇到过这个问题:当你不想要特效的时候,发现无法停止它,就算取下脚本球都不行。
这是因为播放语句“uPlayPartical(index,pos,path);”并不自带停止功能,想要停止它必须在脚本结构中写明。而通常我们特效的播放时间都设置为无限长。
下面提供一个专用于停止特效的脚本。
MyTable =
{
EntryInfo = {ONLOADED, "state1"}; -- ONLOADED的作用是自动加载脚本,如果是第一次运行脚本,需要点击脚本编辑界面的绿色加载按钮
StateList = {"state1"};
state1 =
{
Timer = -1,
TimeOut = -1,
NextState = "nil",
EventList = {};
};
}
function MyTable.state1.OnEnter(args)
uStopPartical (1); --停止特效
end
function MyTable.state1.OnExit(args)
end
本例为最简单的脚本,除了停止特效的语句外,其他全是脚本的基本结构。所有脚本的基本结构都一样,复杂的脚本只是在函数中有更复杂的逻辑。

===============================================================

最近发现有些新同学不知道脚本中需要的特效地址在哪找,这里配合截图来讲解一下。

首先需要说明的一点是:玩家在自己电脑上存放特效的地址,并不是脚本需要的地址。脚本需要的是玩家的特效上传到游戏后,系统自动分配的地址。
具体操作请看:
第一步点击“人物”,出现如下菜单

2012-6-1 13:40:17 上传

下载附件 (27.13 KB)


再点击“文件夹”,出现资源列表,如图

2012-6-1 13:43:19 上传

下载附件 (28.44 KB)

第二步:点击其中的“特效”按钮,看到右侧的文件夹:

2012-6-1 13:47:22 上传

下载附件 (6.57 KB)

第三步:选择你想要的特效后,看到再右侧的资源地址:

。这个就是脚本中需要的特效地址了(具体用法见帖子“播放特效1”),而且对于玩家来说,这个地址除了可以用于脚本,也没有其他任何作用了。

另外,童鞋们自己特效的上传,也是在这个地方实现。如图:
由我世界 神唱 ktv脚本

当各位使用特效编辑器(uWorld自带)制作好特效,并保存到自己电脑上后,一定要记得通过这个界面上传到游戏中哦。这样才可以让脚本找到,向朋友们展示你的才华。