欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,【狗刨学习网】unity极致学院,致力于打造业内unity3d培训、学习第一品牌。用Unity开发移动平台的游戏 不可避免的会遇到屏幕分辨率的问题 不同的分辨率上会使得原本正常的UI变得乱七八糟 我们知道 在Unity中可以拿一个plane作为背景 UI则是绘制在离摄像机最近的位置 可以认为是绘制在摄像机上的因此分辨率的不同会导致UI的位置和大小出现错误我们完全可以用一个plane去模拟button 并将它放在世界空间中 这样虽然可以解决位置和大小的问题 但是所带来的问题也一大堆并难于维护因此我们需要根据屏幕的大小去按比例缩放UI假如原本有个按钮是这样,并且当前的x分辨率下没问题,如果改成x或者其他的分辨率,便会发现位置和大小都不正确了function OnGUI (){ if (GUI.Button(Rect(Screen.width - , Screen.height - , , ), "Start")) { // dosomething }}复制代码复制代码于是我们按比例去移动和缩放UI// original screen sizevar m_fScreenWidth : float = ;var m_fScreenHeight : float = ;// scale factorvar m_fScaleWidth : float;var m_fScaleHeight : float;function Awake (){ m_fScaleWidth = parseFloat(Screen.width)/m_fScreenWidth; m_fScaleHeight = parseFloat(Screen.height)/m_fScreenHeight; }function OnGUI (){ if (GUI.Button(Rect(Screen.width - * m_fScaleWidth , Screen.height - * m_fScaleHeight , * m_fScaleWidth , * m_fScaleHeight ), "Start")) { // dosomething }}复制代码复制代码若UI控件较多的时候,对每一个都去控制大小显然没必要则使用矩阵实现GUI.matrix = Matrix4x4.TRS (Vector3(0, 0, 0), Quaternion.identity, Vector3 (m_fScaleWidth, m_fScaleHeight, 1));复制代码这样就将button的位置和大小都按照比例缩放了 很简单声明:此篇文档时来自于【狗刨学习网】社区,是网友自行发布的Unity3D学习文章,如果有什么内容侵犯了你的相关权益,请与官方沟通,我们会即时处理。更多精彩内容:www.gopedu.com
推荐整理分享用Unity开发移动平台的游戏 不可避免的会遇到屏幕分辨率(unity移动脚本代码),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:unity移动端教程,unity移动端教程,unity移动端开发,unity开发移动端app,unity移动端开发,unity 移动应用开发,unity移动游戏开发,unity 移动应用开发,内容如对您有帮助,希望把文章链接给更多的朋友!
UNITY gameobject代码中setacvtive(false)与面板中直接去掉勾 效果不一样 也许看标题比较难懂,我要表达的是这个意思:在hierarchy里面,UIroot下有个命名为MessageBox的panel,上面挂载着MessageBox脚本,脚本部分如下:publicclassMessage
用HTML代码加载Unity内容 HTML code to load Unity content UnitycontentisloadedinthebrowserbytheUnityWebPlayerplugin.HTMLcodeusuallydoesnotcommunicatewiththisplugindirectlybutthroughthehelpofascriptcalledUnityObject.ItsprimarytaskistomakeUnitycontentembedding
unity3d 参考坐标系 参考坐标系(ReferenceCoordinateSystem)列表是让你指定用于变换(移动move、旋转rotate和缩放scale)的坐标系。选项包括视图坐标view,屏幕坐标screen,世界坐