Unity 技能按钮触发特效
unity 版本:4.5.1 NGUI版本:3.6.5
首先,要导入特效资源包,导入应该是基本中的基础,但是对于初学者来说好像很少有这方面的介绍,也许是我现学现用书看的不够认真,因为导入这个问题卡了好多天,在此简要介绍一下。
1、导入资源要导入正确,一个特效资源应该包括预设文件(.prefab)、.mat纹理文件、脚本文件以及.png图片文件等。在网上下载包含很多的预设文件时,要导入需要的特效文件,只需要选中需要的.prefab文件,选择Assets——Export Package导出,它会自动选择项关联的纹理文件脚本文件等。(我自己在这个例子中到处的包中有些文件是不需要的可以删除,网上有个教程“删除多余的unity美术资源包 http://unity3d.9ria.com/?p=4160”,可以参考,试过,但是不知道是操作问题还是什么,感觉没什么效果)
2、导入资源后,用NGUI新建一个Button,具体怎么创建Button可以参考我以前的博文 “Unity基础 NGUI 创建简单的按钮”,或者网上的教程,可能更详细点,这里不再赘述;
3、为按钮创建一个脚本附加到按钮上,脚本代码如下:
using UnityEngine; using System.Collections; public class test1 : MonoBehaviour { public GameObject skillEffect; // Use this for initialization void Start () { } // Update is called once per frame void Update () { } void OnClick() { Debug.Log ("开始施放技能"); Instantiate (skillEffect); Debug.Log ("技能施放结束"); } }
脚本代码很简单,这里主要介绍如何把特效的prefab文件和脚本中定义的skillEffect相关联起来,之前在这也卡了很久。
一般情况下,我们在左下角的Assets文件中找到脚本文件,单击,右侧就出现脚本内容,会显示出脚本中定义的public变量skillEffect,如下图:
然后在Assets文件中找到对应的prefab预设文件直接拉到Skill Effect中与之关联,但是之前,我的结果一直是脚本中定义的变量skillEffect为空,故不推荐这种方式,下面采用其他方式设置skillEffect变量;
4、点击Hierachy中的按钮,在右侧可以看到这个按钮的相关脚本以及其他信息,在脚本那一项中我们可以看到脚本中定义的skill Effect变量,然后把prefab文件拉到skill effect中建立关联即可:
这样点击运行程序,每次点击按钮它就会出发技能特效:
参考链接:http://blog.csdn.net/lzhq1982/article/details/12999381
上诉中的(3)步骤为什么会失败,至今仍是不懂,有哪位大神了解的请留言告知或者邮件(linw1225@163.com),万分感谢。本人水平有限,博文纯粹是用于记录自己学过的内容以便复习,部分内容可能表述不当或者错误,请指出,谢谢。
分享一个特效使用例子,个人觉得非常好,包括很多技能特效,不给出链接,可以百度搜索:Dynamic Elements FX Pack 1.2