Unity Splash Image 与 Launch场景的背景图无缝衔接
2015-12-04 16:12
706 查看
注:unity版本5.2.2f1.
会将自动拉申图片的高宽到和手机的一样。
下载
一、for android
1、图片的导入设置,确保图片的实际尺寸不被改变。
[code]Texture Type: 没有能设置成Texture, 因为它的改变图片的实际尺寸。这点其实你可只要将Texture Type切换成Advanced类型。看看其中的Non Power of 2的是不是None。如果不是它都有可能改变你的图片的实际尺寸。 有没有被改变你可看看设置面板的下面的预览窗口中的所给出的尺寸是不是与你的图片本的尺寸一样就知道了。
2、PlayerSettings中设置
[code]Splash Image --> Splash scaling 选择:scale to fill(cropped)。 自适应填充(裁切不正的)满屏显示。 它是按图片的尺寸均匀绽放图片的,超出屏幕外的部分将不显示。很自然只要图片的宽高比与手机屏幕的宽高比不一至,肯定有一方(或宽或高)要超出屏幕。明白这一点很重要,因我们在接下来的Launch场景中也要将对应的图片也绽放成这个样。
3、处理Launch场景中的对应的图片大小
原则上面的2,具体代码下面有给出二、for ios
1、图片的导入设置,确保图片的实际尺寸不被改变。
同“for android”中的1。2、PlayerSettings中设置
iphone Launch Screen –> Launch screen type 选择:None.会将自动拉申图片的高宽到和手机的一样。
3、处理Launch场景中的对应的图片大小
只要保持对就的图片在场景的大小与屏幕一就为ok了。三、代码
注意:要将场景中的img的RectTransform设置成如下图所示:[code]//[lzh] using UnityEngine; using System.Collections; using UnityEngine.UI; public class Test : MonoBehaviour { public RectTransform canvasRT; public Image img; public RectTransform imgRT; void Awake() { imgRT.anchorMin = Vector2.one * 0.5f; imgRT.anchorMax = Vector2.one * 0.5f; imgRT.pivot = Vector2.one * 0.5f; } // Use this for initialization void Start () { ProcessBgImg(); } void ProcessBgImg() { if(Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.WindowsEditor) { ProcessBgImg_for_android(); } else if( Application.platform == RuntimePlatform.IPhonePlayer) { ProcessBgImg_for_android(); } } void ProcessBgImg_for_android() { Vector2 spriteSize = new Vector2(); Vector2 imgSize = new Vector2(img.sprite.texture.width, img.sprite.texture.height);//图片的实现大小 Vector2 canvasSize = canvasRT.sizeDelta; // 画布的大小,代码手机屏幕的大小 if (imgSize.y / imgSize.x > canvasSize.y / canvasSize.x) { spriteSize.x = canvasSize.x; spriteSize.y = imgSize.y * (spriteSize.x / imgSize.x); } else { spriteSize.y = canvasSize.y; spriteSize.x = imgSize.x * (spriteSize.y / imgSize.y); } imgRT.sizeDelta = spriteSize; } void ProcessBgImg_for_ios() { Vector2 canvasSize = canvasRT.sizeDelta; imgRT.sizeDelta = canvasSize; } }
四、demo
大家可build出来看看,没有任何的抖动哦。下载
相关文章推荐
- unity3d关于IOS的AOT编译注意事项 ( AOT Exception Patterns and Hacks )
- 联机Unity Profile技巧
- 总结使用Unity 3D优化游戏运行性能的经验
- unity NGUI Tutorial Tools
- unity NGUI tutorial scroll view
- unity NGUI tutorial layout system
- Unity3D中的预制件(Prefab)的创建和使用说明!!!
- Unity中的自定义鼠标
- unity NGUI tutorial more events
- Unity android客户端实现双击跳过动画播放
- Unity中运用UDP广播服务器IP实现局域网联机
- unity NGUI Tutorial event system
- unity NGUI Tutorial context menus
- unity NUGUI tutorial the basics
- unity3D学习
- unity3d 随机物体生成器 工具
- 关于A*算法的研究
- unity与Android的交互
- 【Unity开发】简单的对象池实现
- Unity3d+ShareSDK+IOS9.1 编译错误(备忘)