【转】Unity3D NGUI事件 UIEvents】的更多相关文章

原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 QQ群:[119706192] 本文链接地址: Unity3D NGUI事件 UIEvents UIEvents-事件系统void OnHover (bool isOver):当鼠标移出或者悬停在某个碰撞器上的时候返回布尔值.在触摸设备上不会有作用.void OnPress (bool isDown):当鼠标或者触摸到碰撞器发生布尔值返回.void OnSelect (bool selected):当鼠标或者触摸从OnPress发生后…
首先,将Event Listener挂在按钮上 Event Listener的源码很简单 就是利用C#的时间委托机制 注册了UI场景的事件而已 public class UIEventListener : MonoBehaviour { public delegate void VoidDelegate(GameObject go); public delegate void BoolDelegate(GameObject go, bool state); public delegate voi…
Unity3d ngui基础教程 NGUI教程:步骤1-Scene 1.创建一个新的场景(New Scene).2.选择并删除场景里的MainCamera.3.在NGUI菜单下选择Create a New UI,会打开UI创建向导. 4.在创建向导中你能更改UI的基本参数.现在我们选Default layer,点击Create Your UI 按钮.5.就这样,你的UI便创建好了. 注意: 如果在一个已存在NGUI的项目中你要跳过第二步,并且你要选择一个不同的UI层,你还要确保非GUI相机不渲染…
Unity3D中脚本的生命周期是依照预先定义好的事件函数的运行流程来演化的,详细流程例如以下: Editor模式下Reset: 当脚本第一次被挂到GameObject上或用户点击Resetbutton时,Reset被调用初始化脚本属性,最经常使用于在Inspector视图中呈现好的默认值. 载入第一个场景First Scene Load: 场景启动时会对场景中的每一个对象运行一遍例如以下事件函数: Awake:游戏启动之前初始化不论什么变量和游戏状态,仅在脚本生命周期中调用一次.不能做协程,St…
原地址:http://blog.csdn.net/asd237241291/article/details/8126619 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 本文链接地址:Unity3D NGUI自适应屏幕分辨率 1.UIRoot:根据高度自适应屏幕分辨率. NGUI根目录的UIRoot组件自带了根据高度自适应分辨率的功能. Scaling Style属性可选择三种不同的缩放策略. PixelPerfect 完美像素:直接显示设定好的像素.当屏幕高度低于minimum…
动态加载UI 我们进入一个场景后,如果将这个场景所有可能用到的UI都直接放在场景中做好,由于要在进入场景时就部署好所有的UI对象,那么当UI对象较多时会碰到的问题是:1.初始化场景会产生非常明显的卡顿.2.所有UI都在场景中导致占用大量的内存. 所以我们需要对UI组件进行动态加载和销毁,当需要打开指定的UI时,动态的创建出这个UI对象,而当关闭这个UI对象之后,可以对其进行销毁从而释放出内存. 将UI制作成一个预制件 我们可以在场景中制作好一个UI,然后将其保存成一个预制件后从场景中移除,然后我…
这次来讲讲Unity3D NGUI这个插件的学习,这个插件是收费的,不过去网上可以下载得很多可用版本.用来做用户的交互UI,学习起来比较简单 第一步,导入NGUI包 http://pan.baidu.com/s/1mhKaoha 导入后Unity工具栏上面就会出现关于NGUI的选择了 第二步,开始看一些例子,分析一些例子,因为一般学插件就是下载后照着别人的例子去做可以学会了. 来看一个例子 这里还看一个上面的进度条的 当这个按钮包含几个脚本之后,就达到这样的效果 之后就能够通过实现脚本控制这个进…
1 Unity原生 1.1 GUI void OnGUI(){ if(GUI.Button(Rect position, string text)){ //点击后立即执行 } 1.1 Input 每个手指触控是通过Input.touches数据结构描述的: fingerId 手指索引 The unique index for a touch. 触摸的唯一索引. position 位置 The screen position of the touch. 触摸屏幕的位置. deltaPosition…
监听Unity3d启动事件 - InitializeOnLoad http://blog.csdn.net/huutu/article/details/42318499 Unity 监听第一次进入播放状态的事件 http://blog.csdn.net/akof1314/article/details/57075111 Unity3D研究院之监听平台切换完毕的事件 http://www.xuanyusong.com/archives/3248 Unity的RuntimeInitializeOnL…
Unity3D中, NGUI 给button按钮添加单间事件的方法很多,在这里只给推荐一种比较常用的方法. 推荐方法:使用UIListener. 1.给button组价添加上UIListener.选择Button-Component-NGUI-Internal-Event Listener,点击“Event Listener”即可添加到button上.注意,挂在按钮上就可以,它没有任何参数. 如图: 2.调用方法:在任何一个脚本或者类中即可得到按钮的点击事件.把如下代码放在任意类中或者脚本中.…
http://blog.csdn.net/asd237241291/article/details/8507817 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 Unity3D引擎技术交流QQ群:[119706192]本文链接地址: Unity3D UIPlayTween(原NGUI UIButtonTween)动画事件详解 终于开始正式学习NGUI了~ 看官方demo很多动画效果都很炫,今天研究了下终于有所顿悟,原来这些效果的全是靠 UIButton Tween 实现的. 下面…
我用NGUI它是3.5.4,Unity3d版本号是4.3.4f需要 NGUI3.5.4 下载NGUI,这是破解版的,用于学习.假设是商用.请支持正版 插件的导入 1.NGUI的导入,双击NGUI Next-Gen UI v3.5.4.unitypackage.导入所有资源 2.当菜单条出现NGUI后.表示当前导入完毕 3.点击NGUI-Create-Widget,会在当前视窗创建一个UI Root-Camera-Container.其中 UI Root:2d UI容器,里面的选项特重要.例如以下…
NGUI的事件绑定可以使用 UIButtonMessage 在一个游戏对象上添加Button Message组件: 在Button Message组件上添加要通知的游戏对象上所挂载的脚本的方法 Target:要通知的挂载脚本的游戏对象 Function Name:调用的方法 使用Button Message不是很灵活,还有一种是使用UIEventListener 在unity菜单上选择:Component->NGUI->Internal ->Event Listener 然后把你要绑定的…
通常我们使用Button都是在UI界面,即NGUI的摄像机下,如果想换到场景中,即不让按钮以UI形式显现,而是和场景中的物体一起随着摄像机移动而缩小,放大. 很简单,把Button从NGUi的摄像机中拖出来,并改变Button所在的层与NGUI照射层不同,或者让主摄像机的Culling Mask照射到Button所在的层都可. 调整Button的大小,旋转,即可. 注意:如果你使用的NGUi自带的UIButtonMessage脚本传值,那么当你的Button不被NGUI的摄像机照射,或不属于同一…
跪求官方UI系统(2014年11月底已出,用原生的比用NGUI放心) uGUI注意点 1.要防止多个canvas叠加点击穿透,canvas里面的graphics raycaster调整到恰当选项 2.防止canvas在物体上层,点击canvas却穿透到物体上,触发物体的点击的事件.请參见以下演示样例代码 using UnityEngine; using System.Collections; public class button : MonoBehaviour { public void On…
事件管理 看了有些文章关于NGUI的事件管理,许多人的做法的是封装一个事件处理层,避免在每个UI控件上都绑定事件处理脚本.本文说说我们项目中的UI事件管理吧. UIEventListener 我们项目的做法是:在每一个需要进行事件处理的控件上绑定UIEventListener脚本 示例代码 void Init() { //方式一 var PausePanel = GetControl<Gameobject>("PausePanel"); PausePanel.GetComp…
a.直接监听事件 把下面脚本直接绑定在按钮上,当按钮点击时就可以监听到,这种方法不太好很不灵活. void OnClick(){ Debug.Log("Button is Click!!!");} b.SendMessage 选择Button-Component-NGUI-Interaction-Button Message//[ˌɪntər'ækʃn]n. 一起活动:合作:互相影响:互动 c.UIListener(推荐) 选择Button-Component-NGUI-Interna…
[AddComponentMenu("NGUI/Examples/Spin With Mouse")] publicclass SpinWithMouse : MonoBehaviour { publicTransform target; public float speed = 1f; Transform mTrans; void Start () { mTrans = transform; } void OnDrag (Vector2 delta) { //NUIG 鼠标或手机,点…
我们在玩任何一款手游产品时,都是先上来个logo界面,游戏欢迎界面等,这就意味着我们要做一款游戏需要多个场景,场景之间来回切换实现游戏逻辑,unity也不例外,所以从本篇开始将会介绍如何搭建多个场景,本篇先看游戏logo场景的制作,先上图: 再次用时空领地的logo了,这里的时空领地的logo是个动画,全部是用NGUI实现的,重点是做这个界面没用一句代码,除了点击切换场景. 之前那个游戏场景,我起名GameScene,然后我新建一个场景File->New Scene,起名BeginMenuSce…
先来看下效果图,图中点击 Cube(EventDispatcher),Sphere(EventListener)以及 Capsule(EventListener)会做出相应的变化,例子中的对象相互之间没有引用,也没有父子关系. Demo 事件触发者(EventDispatcher)CubeObject.cs,挂载在 Cube 对象上 using UnityEngine; using System.Collections; public class CubeObject : MonoBehavio…
原文地址:http://www.cnblogs.com/cqgreen/p/3348154.html   一.当下移动设备的主流分辨率(数据来自“腾讯分析移动设备屏幕分辨率分析报告”) 1.1 iOS设备的分辨率主要有:   宽 高 宽高比 960 640 1.5 1136 640 1.775 1024 768 1.3333 2048 1536 1.3333   Android设备的分辨率则相对纷杂,主流的分辨率有: 宽 高 宽高比 800 480 1.6667 854 480 1.7792 1…
一.当下移动设备的主流分辨率(数据来自“腾讯分析移动设备屏幕分辨率分析报告”) 1.1 iOS设备的分辨率主要有:   宽 高 宽高比 960 640 1.5 1136 640 1.775 1024 768 1.3333 2048 1536 1.3333   Android设备的分辨率则相对纷杂,主流的分辨率有: 宽 高 宽高比 800 480 1.6667 854 480 1.7792 1280 720 1.7778 960 540 1.7778 1280 800 1.6 960 640 1.…
http://www.58player.com/blog-2537-85030.html 接上文,项目中因为需要UI热更新,所以我使用了AssetBundle这个解决方案.                   一般来说,我们使用AssetBundle生成资源包常用的方案是如下这么用:                  using UnityEngine;        using UnityEditor;                /// <summary>        /// 导出资源…
最近在搞赛车漂移,所以一直没有更新博客 现在已经实现圈数检测.复位点检测.反向检测等功能 本来准备写成三篇文章的,太忙了,等过段时间不忙了在写吧 今天有朋友问我3D角色怎么给他固定在一个框里面 这个功能前段时间也本来准备写的,太忙了,所以也没有写.... 正好朋友问,那就先写一篇吧 先上效果图: 请无视我骚气的昵称吧!哈哈 从上图中可以看见我的翅膀没有超出边界框,而是被边界框覆盖了 相信看过我前几篇文章的朋友应该知道怎么实现的 没错,这里用到了层 那么问题来了,光用一个层能搞定3D角色固定在框里…
1,制作地图 方式1: NGUI,新建一个Atlas,为M,按照一定的比例如 1:400,绘制地图. 新建一个GameObject,为A,关联UIPanel.A的transform.localScale为 0.25. A下,新建一个UISprite M.简单的地图就算Ok: 2,导航 地图两个关键点:位置与方向: // UI 中的角色 public  Transform  uitrans; // UI 中的角色,地图中对应 publicTransform  maptrans; void Upda…
UIScrollView制作滑动列表,可横向,竖直展示一些列表在固定可视范围内 UIScrollVIew只是一个可滑动的UI组件 如果需要制作复杂的可视区域UI需要配合使用UIPanel与UIGrid 这样更方便UI的展示 a.创建一个2D UI Root,在NGUI菜单上创建一个Scroll View b.在ScrollView上默认的为我们添加了一个UIPanel与UIScrollView Alpha:面板的透明度 Depth:面板在所有UI上的层次等级 Clipping:面板剪切,分为No…
原地址:http://www.2cto.com/kf/201310/250921.html 一.当下移动设备的主流分辨率(数据来自“腾讯分析移动设备屏幕分辨率分析报告”) 1.1 iOS设备的分辨率主要有:   宽 高 宽高比 960 640 1.5 1136 640 1.775 1024 768 1.3333 2048 1536 1.3333   Android设备的分辨率则相对纷杂,主流的分辨率有: 宽 高 宽高比 800 480 1.6667 854 480 1.7792 1280 720…
这里总结一下U3D常用的一些事件 //按下事件,GetKeyDown //抬起事件,Input.GetKeyUp //长按事件,Input.GetKey //任意键按下事件,Input.anyKeyDown //鼠标按下事件,Input.GetMouseButtonDown ();//0为左边,1位右边,2位中间 //Input.mousePosition //得到鼠标当前三维坐标 //鼠标抬起  Input.GetMouseButtonUp 自定义按钮事件: if(Input.GetButto…
利用GUI可以制作进度条,但是NGUI更加方便 我是用的NGUI3.5.3, 先找到NGUI  Slider的预制体,利用自带的UISlider来制作. 主要是利用UISlider的Value来控制进度条. 脚本 public GameObject BtnGaoLu; public UISlider MyUISlider; private bool isLoad=false; private AsyncOperation async; float progress = 0; void Awake…
接上文. 使用上文中的AssetBundle打包方式生成的文件包括了依赖关系中的文件. 一般的使用中并不会发现什么问题. 可是当配合NGUI的时候,使用dynamicFont时打包AssetBundle会将每一个组件使用的dynamicFont都分开打包进去. 导出函数请參考:导出资源 导出资源包时出现的问题: 如图: 在解决依赖关系上我使用过2种方案: 第一种是使用BuildPipeline中的PushAssetDependencies和PopAssetDependencies方法来解决依赖关…