NGUI研究之开发项目的一些使用心得比較细节
不知不觉使用NGI插件已经有一段时间了。感觉NGUI真的是眼下Unity3D中最好用的UI插件。
可是它也有一些不是BUG的BUG,这些问题可能会让新人摸不着头脑,那么这篇文章将总结一下这段时间用NGUI的一些开发心得。这些也好几个朋友问题我的一些问题,我将这些东西列出来。 上一章我们学习了 p=821" rel="bookmark">NGUI研究之自制Scroll
View实现触摸滚动相冊效果
1.对图片的限制
假设是移动平台中iPhone 或Android请保持的你的图片尺寸在小于等于1024 X 1024 ,否则加载的图片将无法显示。绘制图片的地方会是一片黑漆漆的东西,PC平台的话图片最大使用的尺寸是4096X4096 。
注意。这还没完、例如以下图所看到的,不管在不论什么平台中请保持你的图片宽或高的尺寸和下图中的一样。比方 32X32 、32X64 、 128 X 32、 1024 X519、 1024 X1024、 512 X 32 像这样和下图所出现的尺寸数值一样的比例才行。
举个样例,比方美术给你出了一张960X640的图片,此时你直接放在程序中,NGUI会自己主动将这张图片拉伸。
所以你须要让美术把这张960X640的图片放在1024X1024 尺寸的图中给你,这样图片就不会拉伸了,例如以下图所看到的。就好像这样。这张图的尺寸是 1024X1024 可是程序中通过精灵分割的仅仅是 960X640这部分,所以这个图就不会在iPhone或Android中拉伸。
" src="http://www.cgzhw.com/wp-content/uploads/2014/07/248.png">
接着是材质,对材质着色器的选择也有一点要求.例如以下图所看到的,请选择你的材质着色器为Unlit/Transparent Colored 假设你选择的不是它将会造成你的UI无法显示背景透明的图片喔。
2.精灵预设或者字体预设
在导航栏中创建用NGUI创建一个新UI后。而且在Project视图中已经创建了精灵预设和字体预设后。然后在Panel(面板)中创建新部件时。例如以下图所看到的。点击Atlas 或 Font后假设发现找不到相应的预设。不要紧张事实上非常easy。仅仅需你将Project视图中的精灵或字体预设先拖拽至Hierarchy视图中,此时在又一次点击创建新部件。然后在点击Atlas或Font就会出现你须要的精灵或字体预设。
选择完成再将Hierarchy视图中拖拽的预设删掉就可以。 对于不论什么一个新精灵预设或字体预设都要用一次这个方案。再次使用就不会出现这个问题。
(补充,引用评论中的一句,鼠标在Project视图中点一下就能够 感谢回复~~)
3.在3D世界之上创建你的UI。
比方3D游戏中界面中选择技能、物品、人物状态等的一些UI。
这些UI不会以因主角移动而发生位置的改变,而且永远出如今界面最前面。
例如以下图所看到的。把你游戏世界中原本的摄像机放在UI Root (2D)以下,而且让全部的UI都是这个Camera的子类,这么做是为了解决摄像机发生移动后全部的UI也能和他保持原本的距离关系,至于其他的3D游戏对象请保持与UI Root (2D) 为同级关系就可以。
由于须要显示3D物体,请设置你的摄像机Projection为Perspective。
" src="http://www.cgzhw.com/wp-content/uploads/2014/07/512.png">
4.Scroll View列表的显示区域
怎样改动Scroll View列表的显示区域。
这个问题我记得有好几个朋友都问过我。我认为这个问题是NGUI的一个BUG。 可是我们使用第二种方式能够非常好的解决问题。那么和大家说说我的开发心得。
例如以下图所看到的,在这里能够改动ScrollView中总体的显示区域,可是请注意这里紧紧是改动它的显示区域。,由于之前设定在ScrollView中的item的位置是不会由于scrollView显示区域的改动而改动。建议改动ScrolleView显示的宽 和高 在这里改动。可是显示的X Y轴坐标就不要在这里改了。由于改了也没用。
假设你要改动Scroll View显示X Y轴坐标的话,例如以下图所看到的,直接在Hierarchy视图中选择ScrollView显示的父面板对象。然后在Scene视图中更改这个对象的XYZ坐标就可以。这样相应下方全部的ScrollView 的item也会跟着改动。继而达到完美改动NGUI ScrollView的显示区域喔。
" src="http://www.cgzhw.com/wp-content/uploads/2014/07/76.png">
最后,这篇文章也没什么代码,只是希望能给一些刚刚入门NGUI的朋友一些帮助。
NGUI研究之开发项目的一些使用心得比較细节的更多相关文章
- NGUI研究之在Unity中使用贝塞尔曲线
鼎鼎大名的贝塞尔曲线相信大家都耳熟能详.这两天由于工作的原因须要将贝塞尔曲线加在project中.那么我迅速的研究了一下成果就分享给大家了哦.贝塞尔曲线的原理是由两个点构成的随意角度的曲线,这两个点一 ...
- 《IT蓝豹》挑战独立开发项目能力
做了5年的android开发,今天没事写写刚入行不久的时候第一次独立开发项目的心得体会, 当时我刚工作8个月,由于公司运营不善倒闭了,在2011年3月份我开始准备跳槽, 看了一周andro ...
- NGUI研究之制作转圈的技能CD特效
昨天想做一个技能CD转圈的特效,花了大把的时间去用meshRender组件想通过三角形依据数学算法来绘制一个圆形的网格.通过动态绘制圆形网格的方法来实现技能CD特效.奶奶的昨天我研究了一晚上,最 ...
- 跟我开发NSP(网上查询平台):如何选择开发项目
我想通过一个真实的项目开发的全过程,记录一下开发过程的点点滴滴,记录一下过程中的前思后想.这个全过程包括,如何选择项目.如何分析项目.如何组织项目开发.如何设计开发流程.如何设计软件的总体架构.如何建 ...
- AOP在大规模软件开发项目中的应用(图)
AOP在大规模软件开发项目中的应用(图) 本文的写作源于一个真实的大型软件开发项目,我们努力尝试在这个项目中推广应用AOP.在此我们将对曾经面临过的一些实际问题与困难进行分析,试图引发关于面向方面软件 ...
- 《ASP.NET Core应用开发入门教程》与《ASP.NET Core 应用开发项目实战》正式出版
“全书之写印,实系初稿.有时公私琐务猬集,每写一句,三搁其笔:有时兴会淋漓,走笔疾书,絮絮不休:有时意趣萧索,执笔木坐,草草而止.每写一段,自助覆阅,辄摇其首,觉有大不妥者,即贴补重书,故剪刀浆糊乃不 ...
- 前端 go.js 流程图基于vue开发项目案例
一.流程图效果 最近一段时间在研究go.js,它是一款前端开发画流程图的一个插件,也是一个难点,要说为什么是难点,首先,它是依赖画布canvas知识开发.其次,要依赖于内部API开发需求,开发项目需求 ...
- 承接 AutoCAD 二次开发 项目
本人有多年的CAD开发经验,独立完成多个CAD二次开发项目.熟悉.net及Asp.net开发技术,和Lisp开发技术. 现在成立了工作室,独立承接CAD二次开发项目.结项后提供源码及开发文档,有需要的 ...
- tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片
本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...
随机推荐
- C++异常注意事项
C++里面catch对于类型转换,限制比参数传递时候要多: 不可以进行标准算术转换和类的自定义转换:在函数参数匹配的过程中,可以进行很多的类型转换.但是在异常匹配的过程中,转换的规则要严厉. 标准算术 ...
- [ReactVR] Animate Text, Images, Views, and 3D Elements Using the Animated Library in React VR
Motion is an important aspect of a complete immersive experience, therefor we are going to look into ...
- node.js mongodb ReplSet
随着web2.0兴起,高并发大数据量的应用对数据库高速响应的性能要求日趋明显,传统的关系型数据库在这方面显得有些乏力.有矛自有盾,内存DB的出现弥补了传统关系型db的不足.眼下市面流行的内存db主要有 ...
- java中StringBuilder、StringBuffer、String类之间的关系
今天在CSDN的高校俱乐部里看到了"Java基础水平測试(英文)".感觉自己学了java这么久,想看下自己的java水平究竟是个什么样.測试结果就不说了,反正是慘不忍睹. 看了一下 ...
- [JZOJ 5909] [NOIP2018模拟10.16] 跑商(paoshang) 解题报告 (圆方树)
题目链接: https://jzoj.net/senior/#contest/show/2529/2 题目: 题目背景:尊者神高达很穷,所以他需要跑商来赚钱题目描述:基三的地图可以看做 n 个城市,m ...
- 27.boost多线程
#define _CRT_SECURE_NO_WARNINGS #include <boost/thread.hpp> #include <iostream> #include ...
- myBatis中Invalid bound statement (not found)错误
环境:Idea.ssm.maven 由于使用maven的原因,maven不会扫描到mapper的xml文件所以会出现此类问题. 每次走到mapper方法时就抛异常:Invalid bound stat ...
- C# 实现ADSL自动断网和拨号(适用于拨号用户)
using System;using System.Runtime.InteropServices; public struct RASCONN{ public int dwSize; p ...
- 【算法】第二类斯特林数Stirling
第二类Stirling数实际上是集合的一个拆分,表示将n个不同的元素拆分成m个集合的方案数,记为 或者 . 第二类Stirling数的推导和第一类Stirling数类似,可以从定义出发考虑第n+1个元 ...
- SGU 180 Inversions【树状数组】
题意:求逆序数 和POJ那题求逆序数的一样,不过这题离散化之后,要去一下重,然后要开到long long #include<iostream> #include<cstdio> ...