Unity3D使用NGUI做个弹窗】的更多相关文章

主要函数:  NGUITools.AddChild(gameobj, prefab);//gameobj为父对象,prefab为要显示的窗体对象预制 然后写个方法,限制出现多个即可…
一.先看下效果 Prefab结构 二.实现思路: 1.prefab上的Panel层级设置成较高 2.背景由5个UISprite拼接起来的,4个(L,R,U,D)当作遮罩,1个镂空(Hollow)当作点击触发(全部都有BoxCollider,并且都生效,有人会问这不就把后面的按钮也给拦截住了,后面会说为什么要这样) 3.4个遮罩的大小由Holow大小决定 4.Hollow绑定一个点击事件ClickCenter  (后面代码里有) 三.关键部分: 这里解释为什么上面要把Hollow也带上BoxCol…
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 喜欢我的博客请记住我的名字:秦元培,我的博客地址是blog.csdn.net/qinyuanpei. 转载请注明出处,本文作者:…
英雄联盟(撸啊撸) QQ飞车 魔兽世界等等相信大家都玩过游戏吧,玩过那UI知道是什么吧?UI可能说得有点专业的话那么游戏中那些属性面板例如: 现在对UI有一定认识了吧!回想一下您玩过的游戏就一定知道什么是UI了.这是您一定会问那NGUI又是什么呢?这个问题问得好? 我先来介绍一下Unity3D自带的UI层. 在Unity3D中原始就提供一套UI框架,但是由于性能特别差,用起来不是那么的方便和顺手(您可以自己去研究一下自带的UI会发现很多好玩的).在这样的情况下衍生出很多第三方的UI插件.目前公司…
这是今天做的一个小功能 策划想要一个时间滚动效果 那就搞呗!思路和之前写的tweenFillAmount一样 传送门:http://www.cnblogs.com/shenggege/p/4798923.html 时间格式:00:00:00 以下是代码,可以结合上文的链接一起看 #region HeadComments /* ======================================================================== * Copyright (…
好久没写博客了,上一篇是在今年上班之前写的 从年初到现在一篇没写过,每天都在加班,实在太忙了 上班半年多了,学到不少东西 今天分享一下刚写的小功能 TweenFillAmount 用过NGUI Twnner的人看到这个名字就应该知道干啥的了 tweenPosition.tweenRotation.TweenScale.tweenColor..... 就是没有 tweenFillAmount 因为正好要做一个类似血条过渡动画的东西,所以就扩展了一下 时间不多,写得不到位的地方脑补一下 首先我们新建…
原地址:http://blog.sina.com.cn/s/blog_697b1b8c0101g2r4.html 大家使用unity,一定有看中其跨平台的强大功能,因此也难免会遇到不同屏幕分辨率适配的问题. 先说说UIRoot.在新版本的ngui中加入一个选择菜单,分别有PixelPerfect,FixedSize,FixedSizeOnMobiles.网上有不少资料说明这个,不过我看了好几遍都没怎么懂.只到做了几个demo才明白. 1.PixelPerfect,顾名思义,就是像素点完美化,怎么…
原地址:http://www.unity蛮牛.com/thread-18220-1-1.html 在次此之前我们先要了解一下下面的我要讲的几个内容: 一.为什么要用NGUI,因为NGUI的可以做屏幕自适应,在各大不同手机分辨率的屏幕上想要实现基本的显示而且不乱象的效果最后还又能快速开发出来,那么无疑还是NGUI比较的好.二.既然是涉及到手机拍照,那么无疑使可以调用前置或者后置的摄像头都可以进行拍照咯. 三.实际上我做的所谓的拍照时利用了手机的截图功能,只是我会在最后保存路径上会将它保存到手机的相…
过程是这样的:最近一直想做一个头像的mask效果,后来发现原来unity的mask需要用shader来写,网上找了不少资料,也能实现,不过大多数都是用render texture作为相机投影的texture.然后把这个相机的图像作为一个material,然后在ngui中创建一个texture,把这个material赋给texture.怎么说呢,这种方式虽然也能实现,但是必须要创建一个相机,对于一个大型项目来说有点不切实际.一个头像加个mask多简单的一件事,肯定有更好的办法. 最终还是找到了一种…
网上找到的都是做整个背景的卷轴动画,通常是改变纹理位置或者背景图片的x坐标 没有提到在UI界面里某个部分做卷轴动画,找了很久,才发现NGUI的Panel里的Clipping属性可以裁剪Panel的大小. 所以特此记录,以后还是需要多关注各个组件的api和相关属性的具体含义.…
前话 在许多类型游戏中我们经常会使用到背包,利用背包来设置相应角色属性,多了背包也会让游戏增色拓展不少. 那在Unity3D游戏开发中该如何编写背包系统呢?因为有高人开发了NGUI插件,因此我们进行简单编写代码设置即可实现一个简单的背包功能了. 准备工作 新建一个工程PackageDemo 导入NGUI包(最新版3.9.8版的正版89刀) 准备好图片素材,使用NGUI将其打包成图集 背包 背包格子 物品 简单背包功能实现 第一步,添加NGUI控件,使用素材 项目目录以及场景列表如下: 要注意的是…
博主是跟着视频教程学的,所以最新版的u3d是否已经自带这个功能博主没有考究过. 但是视频是2015下半年的教程,当时的u3d还是需要自行导入NGUI包的. 1.首先需要下载NGUI包.点此进入ngui3.9.0下载页 2.下载后将该文件导入Assets,可以直接拖入,也可以在Assets 中右键,Import Package>Custom Package,如下图所示: ps:可能会提示API Update Required,我选择了No Thanks. 3.将控件栏中默认的Main Camera…
当某个按钮按下后给服务器发送某条消息 如果玩家短时间内疯狂点击按钮很多次,这将会给服务器发送很多条无用数据 不但增加了服务器的压力,发送数据还浪费流量,甚至可能引发一些莫名其妙的bug 所以,限制UI点击相应间隔的小东西就诞生了 当然,你也可以用其他一些方法来实现,不一定非要用我这种方法 如果有好的方法还请在下面留言也跟我分享分享,哈哈 先理清思路: 第一步:我们要让一个按钮无法点击怎么办? 不添加BoxCollider不就行了!! 第二步:我们怎么知道按钮有没有被点击呢?改UIButton的代…
原地址:http://www.cnitblog.com/updraft/archive/2013/11/12/88801.html 制作自适应的几个方法1. 使用 UIROOT 里设置自定义高度的方法,然后配合 ANCHOR 左对齐,右对齐等方式,但在手机上经常会遇到宽高比不一样的分辨率,最后结果就是没有右对齐的部分容易被剪切.    优势:简单,不用额外写脚本了,而且匹配的精度是原始的,效果也不错    缺点:遇到宽高比不一致就没法解决了,有些UI会被剪切,而且居中TILED的部分在类似IPA…
这里来介绍一下NGUI的各种脚本的作用,以便以后需要某种效果的时候,去添加相应的脚本去实现效果 UIButton --> 按钮脚本 UIPanel   --> 面板脚本 UIToggle --> 自动开闭脚本 UISlider  --> 滑动条脚本 UIInput  --> 输入框脚本 UISprite -->精灵脚本 Typewriter Effect -->写入文字效果…
弹窗的工作原理:在网页中写一个div ,布局到想要显示的位置,将display设为none,隐藏该div.然后通过点击事件或其他操作,利用Js代码,将display设置为block,将div 显示到网页中. Tips:display:none//隐藏   display: block//显示 效果图:点击弹出一个弹窗按钮,显示弹窗内容 代码: <!doctype html> <html> <head> <title>弹窗练习</title> &l…
原理就是将一张rgba 32的分成两张纹理:一张平台压缩不带alpha和一张为原图1/4大小的压缩图存储alpha信息(用r分量当alpha值),然后修改原材质的Shader传入这两张纹理. 代码如下(这个是比较针对我们项目的,你可以自己手动改下) 注意:NGUI的UIPannel裁剪是需要自己手动写不同裁剪层级的Shader,这个不要忘记写 using System; using UnityEngine; using System.Collections; using System.Colle…
1.拖两个文本框和一个按钮在界面上,并做相应的重命名处理,结果如下图: 2.新建一个脚本,附加到“Login”上,脚本内容如下: public UIInput name; public UIInput password; void OnClick(){ Debug.Log (name.value + "-" + password.value); } 3.在上面代码中定义了两个public变量,所以在布局界面选中“Login”即可看到这两个空变量: 4.将控件栏的Name和Passwor…
NGUI事件的种类非常多.比方点击.双击.拖动.滑动等等,他们处理事件的原理差点儿万全一样,本文仅仅用button来举例. 方法一.直接监听事件 把以下脚本直接绑定在button上.当button点击时就能够监听到.这样的方法不太好非常不灵活. void OnClick() { Debug.Log("Button is Click!!!"); } 方法二.使用SendMessage 选择button后.在Unity导航菜单条中选择Component->Interaction-&g…
1.建立两个UISprite. 2.建立脚本CountingTime 3.编写脚本 public class CountTime : MonoBehaviour { //时间计时器 public float countTime; //倒计时显示 public UILabel timeCount; //计时条在准备后隐藏 public float prograssPercent = 1f; public UISprite jinDuTiao; // Update is called once pe…
转自http://blog.csdn.net/qqmcy/article/details/9469021 NGUI非常强大我们今天来学习一下,如何利用NGUI做技能冷却的CD效果.先导入NGUI的插件.没有的话这里有啊NGUI2.6.3下载地址: http://vdisk.weibo.com/s/KLqn5 创建一个plane, 然后,再创建一个sprite. 脚本代码与sprite相关联就OK了! using UnityEngine; using System.Collections; pub…
最新博客地址已转到: http://blog.csdn.net/zzlyw?viewmode=contents   ----------------------------------------------------------------------- 在使用Unity3D这个引擎做科研或者工程的过程中,有时候需要获得某一个虚拟摄像机实时拍到的画面并保存为图片.这里给出一种简单的实现方法.原理很简单,先将虚拟摄像机的图像转移到一个RenderTexture上,然后使用Texture2D的像…
Unity3D shader简介 可以肯定的说Unity3D使得很多开发者开发游戏更容易.毫无疑问,shader(着色器)编码,仍有很长的路要走.shader是一个专门运行在GPU的程序,经常被神秘包围,它最终绘制3D模型的三角形.如果你想给游戏一个特殊的显示,学习如何编写shader是必要的.Unity3D使用shader做后期处理,对2D游戏也是必不可少的.这个系列的文章将逐步介绍shader编程,并面向几乎没有任何shader知识的开发者. 简介 下图大致表示了在Unity3D渲染流程中发…
用NGUI做界面的时候发现不注意GameObject(或者说Widget)的depth的话,单独运行界面时,Draw Calls挺高的: 网上搜了一下,大把的博客说的都是类似以下的原则: (PS:以下1.2摘自http://blog.csdn.net/monzart7an/article/details/25212561) 1.同一个UIPanel下的texture和font尽量放在同一个atlas下.也表达了另外一个意思,使用同一个atlas的元素尽量放在同一个UIPanel下面. 2.如果一…
NGUI学习笔记汇总,适用于NGUI2.x,NGUI3.x 一.NGUI的直接用法 1. Attach a Collider:表示为NGUI的某些物体添加碰撞器,如果界面是用NGUI做的,只能这样添加.(注:用Component添加无效). 2. Attach an Anchor:表示为该物体添加了UIAnchor脚本,作用是避免像素偏移的问题 3. Attach UIStretch:表示为该物体添加了UIStretch脚本,提供缩放功能 4. Make Pixel Perfect:表示自动为你…
之前unity3d项目要做跟服务器通信的模块,然后服务器那边的协议是基于http的Jsonrpc通信方式一开始,用C#的本身类HttpWebRequest来提交请求,很快就在电脑上面成功了,代码也很简单,这里就不贴了坑爹的是...这个类没办法在IOS或者android平台上面使用,只能在MAC或者WIN上面进行Http的网络请求...所以就没用了= =...然后再用WWW这个类,通过官方的文档,这个类其实是对网络请求的一个简单封装,比如: string PostData = "{\"a…
背景 曾几何时,在Winform中,使用MessageBox对话框是如此happy,后来还有人封装了可以选择各种图标和带隐藏详情的MessageBox,现在Unity3d UGui就没有了这样的好事情了,所有的UI都需要自己来搞定了,幸好还有各种插件,Inventory Pro中的对话框方案不失一种通用,可复用的方案. YY(自己的想法) 所谓通用对话框,如果是自己实现的话有以下几点需要解决,窗体显示控制,窗体UI布局,窗体文字显示,窗体事件回调,窗体显示动画控制,窗体显示声音控制,窗体与其他窗…
原地址:http://www.xuanyusong.com/archives/3088 这两天一直在研究CSLight,目前Unity热更新的方式有两种,一种是ulua这个网上的例子已经很多了.还有一种就是CSLight.其实我更希望CSLight可以趋向成熟,因为它的语法就是C#,但是有些C#的标准语法用不了.这两天我学习的做了一个例子,也把我遇到的坑记录一下. 1.在github上下载CSLight,当我把DLL拖进项目的时候会报错.原因是CSLight的dll和NGUI的冲突了,所以我直接…
今天来学习一下,如何利用NGUI做技能冷却的CD效果. 1,首先按之前的教程Create Your UI,Camera为Simple 2D 最终如下图: 2,添加一个按钮,Background 为一张半透明贴图,更名为“CDSprite”, 设置CDSprite的Sprite Type为Filled 3,添加一个Sprite,重命名为:IconSprite,该Sprite为技能图标. 4,编写脚本: using UnityEngine; using System.Collections; pub…
NGUI非常强大我们今天来学习一下,如何利用NGUI做技能冷却的CD效果.先导入NGUI的插件.没有的话这里有啊NGUI2.6.3下载地址: http://vdisk.weibo.com/s/KLqn5 创建一个plane, 然后,再创建一个sprite. 脚本代码与sprite相关联就OK了! using UnityEngine; using System.Collections; public class Main : MonoBehaviour { UISprite sprite; voi…