Unity之2D游戏界面相机适配
2015-04-30 20:58
441 查看
之前写的关于2D游戏界面相机的水平、竖直、以人为中心三种模式的相机控制,我写着写着,总感觉相机适配有点繁琐,而且适配得不怎么好,多平台的时候因为资源有限我也不知道有没有完全适配,今天给大家分享一下我今天写的一个2D游戏场景相机适配,感觉挺好的,有需要的可以用着试试看,接下来我贴上代码:
该相机用于适配镜头显示的场景,使其在各种平台上横向空间保持一样显示效果,至于竖直方向,我相信在做游戏的时候,要是单纯的手机屏幕还是可以满足正常显示,但是换到一些屏幕如电脑屏幕小窗口显示之类的,水平和竖直方向比例比较奇葩的,这种当然其实也是可以适配的,不过这就要你去调一下我上面写的width和height这两个值,和你相机组件里面的size了。
相机适配以前我也觉得挺难,但是经过一段时间的使用,逐渐可以摸索到可用的方法了,所以我建议用不明白的朋友,多用几次,多关注一下相机组件的一些参数,根据需求去改变你的适配方案。其实我感觉,Unity里面的很多组件,只要你多关注一下你相应组件的相关参数和相关设置,一般问题都能解决,就如粒子系统一样,你仔细研究里面的参数的时候,你会发现控制粒子变化和粒子的一些特性思路会变得比较清晰。
(之前写这个适配的时候,没有写这些提示,是因为以为大多数人也许都懂,我讲了好像没有意义,但是最近遇到一起开发的朋友在说这个问题,我就顺便提一嘴了,毕竟也许初学者不大明白,就像刚开始学的时候的我一样)
using UnityEngine; using System.Collections; public class CameraControl_2D : MonoBehaviour { // 默认屏幕大小 float width = 854.0f; float height = 480.0f; // Use this for initialization void Awake() { // 屏幕适配 float orthographicSize = this.GetComponent<Camera>().orthographicSize; print("aa:" + orthographicSize); orthographicSize *= (Screen.height / (float)Screen.width) / (height / width); print("bb:" + orthographicSize); this.GetComponent<Camera>().orthographicSize = orthographicSize; } }
该相机用于适配镜头显示的场景,使其在各种平台上横向空间保持一样显示效果,至于竖直方向,我相信在做游戏的时候,要是单纯的手机屏幕还是可以满足正常显示,但是换到一些屏幕如电脑屏幕小窗口显示之类的,水平和竖直方向比例比较奇葩的,这种当然其实也是可以适配的,不过这就要你去调一下我上面写的width和height这两个值,和你相机组件里面的size了。
相机适配以前我也觉得挺难,但是经过一段时间的使用,逐渐可以摸索到可用的方法了,所以我建议用不明白的朋友,多用几次,多关注一下相机组件的一些参数,根据需求去改变你的适配方案。其实我感觉,Unity里面的很多组件,只要你多关注一下你相应组件的相关参数和相关设置,一般问题都能解决,就如粒子系统一样,你仔细研究里面的参数的时候,你会发现控制粒子变化和粒子的一些特性思路会变得比较清晰。
(之前写这个适配的时候,没有写这些提示,是因为以为大多数人也许都懂,我讲了好像没有意义,但是最近遇到一起开发的朋友在说这个问题,我就顺便提一嘴了,毕竟也许初学者不大明白,就像刚开始学的时候的我一样)
相关文章推荐
- Unity_2D游戏屏幕适配问题_081
- Unity 2D游戏相机控制(水平,竖直,角色居中三种模式)
- unity初写游戏(一)2D界面GUIText
- Unity 2D游戏相机跟随
- 【Unity 3D】学习笔记二十:基础2D游戏界面
- Unity 2D游戏开发教程之使用脚本实现游戏逻辑
- Unity 2D游戏开发教程之精灵的死亡和重生
- 实战Unity3D开发:从认识界面到游戏demo
- Unity 2D 游戏开发 官方视频学习顺序
- 拾荒者Unity2D游戏开发流程笔记
- 玲珑杯Unity开发心得——进度条界面(异步加载游戏场景)
- 强大的游戏开发工具Unity3D推出2D开发工具,unity将混合3D与2D开发
- 学习手机游戏开发的两个方向 Cocos2d-x 和 Unity 3D/2D,哪个前景更好?
- unity中2D相机与3D相机的二三事
- Spine+Unity(2D游戏)
- unity 相机平滑跟随游戏角色
- 一种Unity2D多分辨率屏幕适配方案
- 【SIKI】_05_Unity5.3开发2D游戏笔记
- 一种Unity2D多分辨率屏幕适配方案
- Unity 3D制作2D游戏的几种方法