具体细节可以参考另外一篇随笔! 以下提供的算法完成的事: 1.自适应1280x720分辨率以下的屏幕 2.自适应1280x720分辨率以上的屏幕 在我设定的要求内包括的分辨率大部分都测过了,背景图.全屏透明Sprite(主要用于九宫格区域的控件摆放)自适应都没问题(不会变形),其他的控件当然是由UIRoot组件搞定的!下面的算法主要就是说明背景.全屏透明Sprite的自适应! 之前的随笔已经说过实际屏幕比设定屏幕大的自适应,现在加入自适应比设定屏幕小的算法! detail: 使用NGUI版本为3…
自适应讲解部分可以参考以下网址:http://www.xuanyusong.com/archives/2536,下面代码中提到的AdaptiveManualHeight()函数就是参考该文章的. 下面主要说的就是背景图.全屏透明Sprite和控件位置自适应的东西. 由于我们所要开发的游戏只支持800x480及以上的分辨率的手机,因此分辨率小于800x480的自适应这里不考虑(其实都差不多的,就是多了一个if判断,然后分别调整下背景图.全屏透明背景而已) 见下图,背景图和全屏sprite(这里为了…
雨松MOMO 2014年05月04日 于 雨松MOMO程序研究院 发表  现在用unity做项目 90%都是用NGUI,并且我个人觉得NGUI应该算是比较成熟的UI插件,虽然他也存在很多问题,但是至少这么多游戏都在用,它目前是能hold住的,嘿嘿. 这篇文章说说我现在是怎么自适应UI 和 3D 游戏的.. 1.获取屏幕的宽高 Screen.width  Screen.height 可以回去设备屏幕的宽高,但是它并不是NGUI的宽高.比如你想做一个全屏的UISprite . 这样的代码是错误的.…
  屏幕自适应 NGUI可以比较方便的实现屏幕自适应,但是它的官方教程里面针对这个问题没有详细的教程,所以可能在实现的时候会走比较多的弯路.以下是我在开发过程中找到的一个比较方便的实现方法. 主要组件 1. UIAnchor 这个是用来确定控件在屏幕中的位置,另外有一篇教程专门讲它的功能,所有不会再赘述 2. UIStretch 这个是用来做缩放的组件.老版本的NGUI是集成在UIAnchor上的.新版本的UIStretch提供了4种缩放方式: Horizontal:只缩放水平方向 Vertic…
NGUI确实是非常棒的一个做界面的插件,比起U3D自带的GUI要好很多,当然也有一些不好之处,毕竟什么都不可能那么完美. 最近在用Unity写游戏使用NGUI遇到了一个很多人都在遇到的问题,就是关于屏幕自适应,谷哥度娘里面写关于适应屏幕的帖子很多,但是大多都是一样抄来抄去,都是说是Panel里面加个UIStretch里面加个 if 分支,什么OnWidth什么的,还要把UIAnchor的side放置在Bottom等等步骤,过于麻烦,而且效果也一般. 不知道大家在用最新的Unity的时候在UISt…
屏幕自适应 NGUI可以比较方便的实现屏幕自适应,但是它的官方教程里面针对这个问题没有详细的教程,所以可能在实现的时候会走比较多的弯路.以下是我在开发过程中找到的一个比较方便的实现方法. 主要组件 1. UIAnchor 这个是用来确定控件在屏幕中的位置,另外有一篇教程专门讲它的功能,所有不会再赘述 2. UIStretch 这个是用来做缩放的组件.老版本的NGUI是集成在UIAnchor上的.新版本的UIStretch提供了4种缩放方式: Horizontal:只缩放水平方向 Vertical…
NGUI研究院之自适应屏幕 http://www.xuanyusong.com/archives/2536 Unity3D研究院之使用Android的硬件缩放技术优化执行效率 http://www.xuanyusong.com/archives/3205 参考了以上方案,有两种方法. 归纳一下: 第一种就是考虑屏幕的UI比例 与 Root ManulHeight 的比例,如果 屏幕的W/H 小于 Root 的 W/H ,那么就会出现屏幕被裁减的情况,所以采用了一种算法动态扩展ManuHeight…
我们在玩任何一款手游产品时,都是先上来个logo界面,游戏欢迎界面等,这就意味着我们要做一款游戏需要多个场景,场景之间来回切换实现游戏逻辑,unity也不例外,所以从本篇开始将会介绍如何搭建多个场景,本篇先看游戏logo场景的制作,先上图: 再次用时空领地的logo了,这里的时空领地的logo是个动画,全部是用NGUI实现的,重点是做这个界面没用一句代码,除了点击切换场景. 之前那个游戏场景,我起名GameScene,然后我新建一个场景File->New Scene,起名BeginMenuSce…
此场景适用于移动端百分比布局,背景全屏显示. 在一个没有设置宽高的容器中设置背景,想要背景全屏显示,设置bcakground-size:100%;后还需设置position:absolut; 原因: absolute会脱离normal float, 即该元素会直接以root标签(类似window但不是<html>标签)进行参照,而root标签的高度存在具体数值, 即浏览器视窗高度, 有明确px值. 而relative不会脱离normal float, 他的height会直接依赖直接父元素(em…
题目 给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素.数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数.如果不存在,则输出 -1. 示例 1: 输入: [1,2,1] 输出: [2,-1,2] 解释: 第一个 1 的下一个更大的数是 2: 数字 2 找不到下一个更大的数: 第二个 1 的下一个最大的数需要循环搜索,结果也是 2. 注意: 输入数组的长度不会超过 10000. 思…