求助大神 在unity里面怎么做unity3d毛发插件

程序写累了,就来玩玩酷跑小游戏吧,嘿嘿。
雨松MOMO送你一首歌曲,嘿嘿。
NGUI研究院之三种方式监听NGUI的事件方法(七)
NGUI研究院之三种方式监听NGUI的事件方法(七)
围观105284次
编辑日期: 字体:
NGUI事件的种类很多,比如点击、双击、拖动、滑动等等,他们处理事件的原理几乎万全一样,本文只用按钮来举例。
1.直接监听事件
把下面脚本直接绑定在按钮上,当按钮点击时就可以监听到,这种方法不太好很不灵活。
void OnClick() {
Debug.Log("Button is Click!!!"); }
2.使用SendMessage
选择按钮后,在Unity导航菜单栏中选择Component-&Interaction-&Button Message 组件。
Target:接收按钮消息的游戏对象。
Function Name:接收按钮消息的方法,拥有这个方法的脚本必须绑定在上面Target对象身上。
Trigger:触发的事件,OnClick显然是一次点击。
Include Children :是否让该对象的所有子对象也发送这个点击事件。
到UIButtonMessage.cs这个脚本中看看,其实很简单就是调用Unity自身的SendMessage而已。
1234567891011121314151617181920
void Send () {
if (string.IsNullOrEmpty(functionName)) return;
if (target == null) target = gameObject;&
if (includeChildren)
Transform[] transforms = target.GetComponentsInChildren&Transform&();&
for (int i = 0, imax = transforms.Length; i & imax; ++i)
Transform t = transforms[i];
t.gameObject.SendMessage(functionName, gameObject, SendMessageOptions.DontRequireReceiver);
target.SendMessage(functionName, gameObject, SendMessageOptions.DontRequireReceiver);
3.使用UIListener
这个也是推荐大家使用的一种方法,选择按钮后在Unity导航菜单栏中选择Component-&NGUI-&Internal -&Event Listener 。 挂在按钮上就可以,它没有任何参数。。
在任何一个脚本或者类中即可得到按钮的点击事件、把如下代码放在任意类中或者脚本中。
1234567891011121314
void Awake ()
{ &&&&&&&&&&&&&&&&//获取需要监听的按钮对象
GameObject button = GameObject.Find("UI Root (2D)/Camera/Anchor/Panel/LoadUI/MainCommon/Button");&&&&&&&&&&&&&&&&//设置这个按钮的监听,指向本类的ButtonClick方法中。
UIEventListener.Get(button).onClick = ButtonClick; }&&&&&&&&&//计算按钮的点击事件 void ButtonClick(GameObject button) {
Debug.Log("GameObject " + button.name);& }
怎么样是不是很灵活?再看看它的源码,使用的C#的代理,将UI的场景事件通过代理传递出去了。
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
public class UIEventListener : MonoBehaviour{ public delegate void VoidDelegate (GameObject go); public delegate void BoolDelegate (GameObject go, bool state); public delegate void FloatDelegate (GameObject go, float delta); public delegate void VectorDelegate (GameObject go, Vector2 delta); public delegate void StringDelegate (GameObject go, string text); public delegate void ObjectDelegate (GameObject go, GameObject draggedObject); public delegate void KeyCodeDelegate (GameObject go, KeyCode key);& public object parameter;& public VoidDelegate onSubmit; public VoidDelegate onClick; public VoidDelegate onDoubleClick; public BoolDelegate onHover; public BoolDelegate onPress; public BoolDelegate onSelect; public FloatDelegate onScroll; public VectorDelegate onDrag; public ObjectDelegate onDrop; public StringDelegate onInput; public KeyCodeDelegate onKey;& void OnSubmit ()
{ if (onSubmit != null) onSubmit(gameObject); } void OnClick ()
{ if (onClick != null) onClick(gameObject); } void OnDoubleClick ()
{ if (onDoubleClick != null) onDoubleClick(gameObject); } void OnHover (bool isOver)
{ if (onHover != null) onHover(gameObject, isOver); } void OnPress (bool isPressed) { if (onPress != null) onPress(gameObject, isPressed); } void OnSelect (bool selected) { if (onSelect != null) onSelect(gameObject, selected); } void OnScroll (float delta)
{ if (onScroll != null) onScroll(gameObject, delta); } void OnDrag (Vector2 delta)
{ if (onDrag != null) onDrag(gameObject, delta); } void OnDrop (GameObject go)
{ if (onDrop != null) onDrop(gameObject, go); } void OnInput (string text)
{ if (onInput != null) onInput(gameObject, text); } void OnKey (KeyCode key)
{ if (onKey != null) onKey(gameObject, key); }& /// &summary& /// Get or add an event listener to the specified game object. /// &/summary&& static public UIEventListener Get (GameObject go) {
UIEventListener listener = go.GetComponent&UIEventListener&();
if (listener == null) listener = go.AddComponent&UIEventListener&();
return listener; }}
但是有时候我们项目中需要监听UI的东西可能不止这些,我们也可以拓展一下C#的事件方法。或者也可以使用
本文固定链接:
转载请注明:
雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。
您可能还会对这些文章感兴趣!unity电子罗盘 - Unity3d技术 - 泰课在线 - 国内专业的Unity在线学习平台|Unity3d培训|Unity教程|Unity教程 Unreal 虚幻 AR|移动开发|美术CG|UI平面设计|前端开发 - Powered By EduSoho
unity电子罗盘
求助大神,关于unity电子罗盘的问题,unity3d如何获取电子罗盘参数。要实现的效果是手机转动时能实时获取手机旋转角度。
你还没有登录,请先或!
Unity3D技术交流1群
泰课Unity3D公开课
工作时间:9:00 - 18:30
北京客服:010 -
广州客服:020 -本帖子已过去太久远了,不再提供回复功能。通过API文档生成KBEngine.py,其中包含了函数原型和注释,运行后在当前目录产生了tips文件夹 /k...
发布于 4周前
KBEngine_ue4_demo This client-project is written for KBEngine(a MMOG engine o...
发布于 1个月前
我的项目是使用ShareREC让Unity进行录像,直接使用Unity录像是可以录像的。但当我讲Unity项目导入Android之后,利用Unity与An...
发布于 2个月前
我的项目是将Android导入到Unity3D进行开发,然后我在Unity3D中传递消息让Android跳转Intent,结果报了如下的错误: 然后我排查...
发布于 2个月前
已知世界坐标系上同一平面四点的三维坐标和这四点在图像上的横纵坐标,能否标定摄像机相对这一平面的坐标和角度?如何计算?
发布于 3个月前
我刚刚入职一家游戏开发公司, 负责游戏服务器开发, 前台是通过Unity开发, 另外公司用ant部署项目, 我原来是用eclipse整合tomcat开发,...
发布于 3个月前
这阵子使用kbengine+unity做的游戏。一款mmorpg的移动端网络游戏,采用大世界即时战斗方式。 这个游戏有两个职业,每个职业有三个技能。战士的...
发布于 11个月前
摘要:游戏服务器开发,那些棘手的问题,是如何得到解决的? ProudNet 基于长时间技术积累和众多成功游戏产品和中国及全球范围运营经验 适用于各种复杂网...
发布于 6个月前
利用手机摄像头,让3D模型附着在摄像机拍摄到的场景中,不知道能不嫩能实现
1、要根据真实的地图位置和陀螺仪判断3D模板出现的位置
2、比如我在北京清华...
发布于 5个月前
要做建筑物3D在iPad上面展示,我想了解一下,iOS 如何和Unity3D交互的,包括响应交互和数据展示等等,谢谢
发布于 5个月前
首先我们讲一下,为什么要介绍这个插件? 是因为这个插件极大的简化了我对接渠道SDK的工作量,精力和时间,也避免了我不断的重复的做接入SDK工作这样没有成就...
发布于 2年前
在韩国有一个非常著名的游戏服务器引擎。
● 对于游戏服务器来说经验很重要,那么你们拥有多少经验呢? 游戏服务器的开发始于1997年...
发布于 7个月前
unity打包ios后,xcode真机调试时有时候会出现如图提示并闪退,xcode没有打印出错误信息。。。 unity3d4.6.9f,xcode7.3,...
发布于 10个月前
  在unity3d游戏开发中,我们不要试图花时间去优化一些模糊不清的程序或降低图片的大小,除非你确实知道他们是瓶颈。开发工作第一,性能优化第二。尽可能花...
发布于 8个月前
  如今手机已经是人手必备的工具,在闲暇时间我们经常会看到各式各样玩手游的人。   在高压力、快节奏的生活环境中,通过手游解压是一个非常不错的选择。而我国...
发布于 8个月前
请问这种情况下代码该如何改?
发布于 8个月前
unity3D好学不?unity3D的就业情况怎么样? 适合做什么?
发布于 8个月前
回调函数获取到的inNumpackets一直是0,intBuffer也没有数据。在Xcode工程里是正常的,放到Unity打包出来的xcode里面就有问题...
发布于 8个月前
在如今火爆的VR市场中,我们是否应该挤进VR领域。
发布于 9个月前
在游戏开发过程中,会发现很多时候需要两台设备间时间同步进行的情况。 一般情况下,两台设备间时间同步使用round trip latency (RTT)方式...
发布于 8个月前
Message from debugger: Terminated due to memory issue
app中点击一个下载按钮,下载完后闪退,下...
发布于 8个月前
学习VR开发是不是必须学习unity3d。如果要想从事这个领域,应该如何学习。
发布于 9个月前
ProudNet是一款游戏开发所需的服务器引擎。对于实时游戏处理通信量大和同时登录用户数多的问题,是在不同网络环境下能够保持其特有稳定性的高性能引擎。
发布于 9个月前
@墨镜猫 你好,想跟你请教个问题:@墨镜猫 你好,想跟你请教个问题:如何运用摄像机当第一人称视角,并且可以通过easyTouch joystick虚拟摇杆...
发布于 9个月前
2006年至今,手游市场经历了不少变革,从WAP站到2009年智能手机时代来临,2012大量资本涌入国内手游行业,到2014年手游市场趋于成熟,细分市场成...
发布于 11个月前
有会用leapmotion结合unity实现绘画的吗? 将场景渲染为某一单一背景色,手运动的同时手指尖可在场景中画出线条,如果整个手掌伸展放平移动,则手运...
发布于 11个月前
有折腾过unity3d开发几个demo,有这样的公司需要搞java的吗?
发布于 11个月前
先来创建一个新项目,命名为TankWar,以后的相关文件都放置在这个文件夹下面。 创建完毕之后是一个空白的工程,只有一个Camera在场景中。CTRL+S...
发布于 4年前
近些年,掌上游戏时代已经成为全民风尚,但身为游戏开发商的你们,调查过手游安装包大小与用户转化率之间的关系吗? 时 下,手机的分发渠道的百花齐放,就主流的下...
发布于 1年前
OSCHINA 本期高手问答( 11月10 日- 11月17日)我们请来了《Unity 5.x游戏开发指南》 的作者@风宇冲 来解答 Unity 游戏开发...
发布于 1年前
这些App都是带上眼镜即可进入3D虚拟现实模式。
身为iOS开花汪,之前并没有实现过这种功能,问下有朋友实现过么?是iOS原生语言写么?
发布于 1年前
KBEngine安装完成,且已经成功启动服务,运行官方的Demo可以注册、登录;但是在创建角色时报错
发布于 1年前
现在主流的网页游戏是用什么语言开发的?
发布于 1年前
展示最近2年APP设计、Ui设计、LOGO设计、Icon设计,Cocoa2D,Unity3D美术设计欢迎来稿交流(企鹅)
发布于 2年前
某款 Unity3d 开发的手游, 用 C#调用 so 里的函数对图片加密 /解密.
通过分析 dll, 得知 so 里函数的接口, 于是用 Xamar...
发布于 1年前
RT,各位大哥大姐,到底是怎么调出来啊,求!
发布于 5年前
大家好,能帮忙推荐几本Unity3D入门和提高的书籍,或者是博客、视频教程等。我现在C#使用的比较熟练,对于Unity3D也只是了解,没有做过相关的例子。...
发布于 3年前
就是同时截取两张图片,对上面的那张图片进行擦除
发布于 2年前
Unity3D可以使用C#中的BitConverter从字节流中读取int等基本数据类型吗?BitConverter是否跟系统平台有关?
发布于 3年前
沼泽神秘人
我用3Dmax做了一个怪兽模型,请问如何将这个模型导入unity 3d游戏引擎进去?
发布于 2年前

我要回帖

更多关于 求助大神这是什么歌3 的文章

 

随机推荐