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
Unity 技能按钮触发特效的更多相关文章
- Unity——技能系统(二)
Unity技能系统(二) Unity技能系统(一) Demo展示: 五.技能管理和释放 1.CharacterSkillSystem 技能系统类,给外部(技能按钮,按键)提供技能释放方法: 技能释放逻 ...
- [Windows Phone]模仿魔兽3技能按钮SkillButton
简介: 模仿魔兽3技能按钮,带CD效果.使用的时候可以当做普通按钮使用,同时也支持Binding. 音效紧耦合在控件内部,因为控件本身目的就是模拟魔兽3的技能按钮,所以不考虑音效的扩展. Demo结构 ...
- 在UNITY中按钮的高亮用POINT灯实现,效果别具一番风味
在UNITY中按钮的高亮用POINT灯实现,效果别具一番风味
- CocosCreator游戏开发(五)实现技能按钮
在上一篇中,已经顺利的实现了通过摇杆控件来控制角色移动的例子 这一篇内容中,主要来实现通过摇杆来操作技能施法位置的功能 代码效果如下: 在最初的想法中,我是想将摇杆与技能施法范围以及施法位置做成一个组 ...
- Unity——技能系统(三)
Unity技能系统(三) Unity技能系统(一) Unity技能系统(二) Demo展示 六.Buff系统 buff分为增益和减益buff,应该区分开来: /// <summary> / ...
- Unity UGUI按钮添加点击事件
1. 可视化创建及事件绑定 # 1 : 通过 Hierarchy 面板创建 UI > Button. 2 : 创建一个脚本 TestClick.cs, 定义了一个 Click 的 public ...
- unity不规则按钮解决方案
一种是alpha检测 一种是设置collider 参考: https://zhuanlan.zhihu.com/p/34204396 下面给出第二种方案代码 ///按钮多边形点击方案,注意Canvas ...
- Unity动态绑定按钮触发方法
在使用unity制作UI的过程中,基本都需要接触到按钮,然后按钮要起作用的话,那么就需要为按钮绑定响应方法. 为按钮绑定触发的方法,我知道的有两种方法,第一种:手动使用unityEditor 绑定,另 ...
- Unity不规则按钮点击区域(UGUI)
文章目录 一. 前言 二. 最终效果 三. 实现 1.创建UICamera 2. UIPolygon节点 3. 编辑碰撞区域 5. 运行测试 6. UIPolygon代码 一. 前言 游戏开发中,可能 ...
随机推荐
- OOP 概述
面向对象程序设计基于四个基本概念:数据抽象.封装.继承和动态绑定. 类的基本思想是数据抽象和封装. 1 数据抽象 数据抽象是一种依赖于接口和实现分离的编程技术.类的接口包括用户所能执行的操作:类的实现 ...
- css 权威指南笔记(一)
零零散散接触css将近5年,俨然已经成为一个熟练工.如果不是换份工作,我不知道自己差的那么远:在qunar的转正review中我这种“知其然而不知其所以然” 的状况被标明,我才意识到我已停步不前近两年 ...
- iOS获取健康步数从加速计到healthkit
计步模块接触了一年多,最近又改需求了,所以又换了全新的统计步数的方法,整理一下吧. 在iPhone5s以前机型因为没有陀螺仪的存在,所以需要用加速度传感器来采集加速度值信息,然后根据震动幅度让其加入踩 ...
- [Redis] windows下安装 Redis
一:Redis是什么? Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 通过https://github.c ...
- 21、javascript 基础
Javascript Javascript 是一种嵌入到HTML文档的脚本语言,由浏览器解释和执行,无需编译. Javascript 是大小写敏感的,大写字母与小写字母不同. 使用“:”分号来分割每一 ...
- 关于this 的一个问题
var name = "the window"; var object = { name:"my object"; getName:function(){ re ...
- (转)从内存管 理、内存泄漏、内存回收探讨C++内存管理
http://www.cr173.com/html/18898_all.html 内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟 ...
- IEqualityComparer 去重
1.去除list里某重复字段值的数据(相当于group by) public class CorrController { //方法 public void DoGet() { List<tes ...
- iOS多线程的初步研究(八)-- dispatch队列
GCD编程的核心就是dispatch队列,dispatch block的执行最终都会放进某个队列中去进行,它类似NSOperationQueue但更复杂也更强大,并且可以嵌套使用.所以说,结合bloc ...
- Sqoop import加载HBase案例详解
简单写一下如何将订单表sqoop到hbase表中的步骤. 下表: 1.通过hbase shell 打开hbase. 2.创建一个hbase表 create 'so','o' 3.将so表的数据导入到h ...