首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

unity3d学习札记(十八)-利用C#的代理和事件结合NGUI的按钮实现施放技能

2013-10-25 
unity3d学习笔记(十八)--利用C#的代理和事件结合NGUI的按钮实现施放技能本系列文章由Aimar_Johnny编写,欢

unity3d学习笔记(十八)--利用C#的代理和事件结合NGUI的按钮实现施放技能

本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢。

http://blog.csdn.net/lzhq1982/article/details/12999381


对C#还不是很熟,在学习的过程中了解到C#有种代理和事件的机制很方便,之前用cocos2d的时候也用过代理,虽然此代理非彼代理,但他们的作用有相似之处,都是触发者只是告知事件,并不调用相关类和方法实现,而是由代理方法实现,可能有些难懂,下面我用之前的demo中英雄施放技能这里做个试验。

本篇涉及三个知识点,一个是最重要的代理,一个是NGUI的按钮,一个是施放技能特效。


1、NGUI制作技能按钮

关于NGUI我前面的文章说了好多,重复的部分我就不介绍了。我打算把技能按钮放在NGUI界面布局的右下角锚点处,先在右下角锚点处加个Panel,我起名SkillPanel,在该Panel下我建立一个按钮,选NGUI->Open the Widget Wizard,Atlas选你将图片打包的那个文件,没有的话先建立一个,不知道怎么建的看前面的文章。Template里选Button,然后会出现Background,是按钮图片,从Atlas中选一个,我的设置如下:

unity3d学习札记(十八)-利用C#的代理和事件结合NGUI的按钮实现施放技能

选择Add To后SkillPanel下新增一个按钮,我起名ZhongJiButton,布局如下:

unity3d学习札记(十八)-利用C#的代理和事件结合NGUI的按钮实现施放技能

调整位置,我的按钮截屏如下(右下角那个):

unity3d学习札记(十八)-利用C#的代理和事件结合NGUI的按钮实现施放技能


2、利用C#的代理和事件施放技能。

要施放技能,肯定要点击按钮,NGUI为按钮提供了OnClick接口。我们先创建一个脚本,我命名CastSkill,然后拖到ZhongJiButton上,CastSkill里只要实现OnClick接口就好了。一般我们会怎么实现点击施放呢,最传统的做法就是获得英雄的对象,然后利用该对象向她传递施放技能的消息,比如代码如下:


在这里谢谢各位的支持,使得本系列文章被csdn在博客首页和个人页侧边栏推荐为最新精华博文,本人不胜感激,受宠若惊,今后当更加努力,希望能多多的帮助他人,哈哈,也希望大家多提宝贵意见,小弟在这里拜谢了。

热点排行