untiy使用ngui插件屏幕自适应问题解决方案
2015-03-23 15:12
471 查看
首先讲下我的工作平台版本,untiy是4.6的,ngui是3.6.8的,
我的项目是这样的,背景已经有了,button是从背景上扣下来的,所以做成项目的时候要保证在任何缩放比的屏幕下,背景要铺满手机显示屏,而且扣下来的button要保证和背景一样的缩放比,至少人眼上看到的不能有像素差。
首先说下,步骤,建立一个2d的ui,在camera下建立一个panel,panel下边建立texture,这个texture就是我们的主背景了,将来写好的脚本挂在这个上就可以了。
所有要保持缩放比的ui都要在这个texture下建立,当我们通过脚本改变texture的缩放比的时候,ngui会自动缩放所有texture的子组件。
ok,下边讲下脚本的编写。
建立一个脚本,命名为MyUIAutoFixed,代码如下
using UnityEngine;
using System.Collections;
public class MyUIAutoFixed : MonoBehaviour
{
public Vector2 picPixel;
public Vector2 desPixel;
public Vector2 pos;
void Start(){
}
void Update(){
Vector2 screen = NGUITools.screenSize;
Vector2 scale = new Vector2(screen.x/desPixel.x,screen.y/desPixel.y);
transform.localScale = new Vector3(scale.x,scale.y,1);
transform.localPosition = new Vector3(pos.x*scale.x,pos.y*scale.y,1);
}
}
手敲的代码,可能有部分拼写错误,写的时候注意检查下,我们将这个脚本直接挂在主背景上,就可以了
这里的 picPixel指当前的图片大小,desPiexel指要匹配的目标图片大小,pos是当前的图片对应目标的位置,
这里所有ui都是以图片大小来排版,目标背景中心点对应摄像机的中心点
我的项目是这样的,背景已经有了,button是从背景上扣下来的,所以做成项目的时候要保证在任何缩放比的屏幕下,背景要铺满手机显示屏,而且扣下来的button要保证和背景一样的缩放比,至少人眼上看到的不能有像素差。
首先说下,步骤,建立一个2d的ui,在camera下建立一个panel,panel下边建立texture,这个texture就是我们的主背景了,将来写好的脚本挂在这个上就可以了。
所有要保持缩放比的ui都要在这个texture下建立,当我们通过脚本改变texture的缩放比的时候,ngui会自动缩放所有texture的子组件。
ok,下边讲下脚本的编写。
建立一个脚本,命名为MyUIAutoFixed,代码如下
using UnityEngine;
using System.Collections;
public class MyUIAutoFixed : MonoBehaviour
{
public Vector2 picPixel;
public Vector2 desPixel;
public Vector2 pos;
void Start(){
}
void Update(){
Vector2 screen = NGUITools.screenSize;
Vector2 scale = new Vector2(screen.x/desPixel.x,screen.y/desPixel.y);
transform.localScale = new Vector3(scale.x,scale.y,1);
transform.localPosition = new Vector3(pos.x*scale.x,pos.y*scale.y,1);
}
}
手敲的代码,可能有部分拼写错误,写的时候注意检查下,我们将这个脚本直接挂在主背景上,就可以了
这里的 picPixel指当前的图片大小,desPiexel指要匹配的目标图片大小,pos是当前的图片对应目标的位置,
这里所有ui都是以图片大小来排版,目标背景中心点对应摄像机的中心点
相关文章推荐
- 使用cocos2d-x时解决iPhone屏幕自适应问题的一个思路
- NGUI panel使用soft clip时,屏幕缩放后无法正常工作的问题解决
- NGUI按钮使用UIEventListener监听执行多次问题解决方案
- eclipse安装subclipse插件在win7中使用报错问题解决方案
- UGUI,使用ScrollView时,解决自适应屏幕尺寸问题
- 使用maven-shade-plugin插件解决spark依赖冲突问题
- 关于ueditor编辑器插件的使用记录 --- 解决"后端配置项没有正常加载,上传插件不能正常使用"上传图片处的问题
- 使用html2canvas截图不全问题解决方案——经测可用
- Android中so使用知识和问题总结以及插件开发过程中加载so的方案解析
- Android中so使用知识和问题总结以及插件开发过程中加载so的方案解析
- 使用ODBC创建数据源出现未发现 ”Oracle(TM) 客户端和网络组件“问题解决方案
- NGUI移动平台屏幕自适应问题
- 使用cordova插件解决ionic页面在手机上启动出现黑频问题
- Android屏幕适配方案-直接填写设计图上的像素尺寸即可完成适配-最大限度解决适配问题。
- smarty模板的插件使用报错问题(已解决)
- 激活Windows Thin PC以及使用时的相关问题解决方案
- NavigationView配合Fragment切换+动画+使用+check问题解决方案
- 解决XCode安装插件后插件不能使用的问题
- Source insight安装使用相关问题解决方案
- xcode7中KSImageNamed-Xcode-master插件无法使用问题的解决