这里主要还是介绍如何利用UISprite来动态的加载图片NGUI所提供的UIAtlas虽然好用,但只能在Editor内生成贴图和prefab以供UISprite使用为了能够让游戏资源与遊戏本体尽可能的分离,特别是游戏资源需要动态更新的情况很多时候,都需要动态加载动态设置UIAtlas。 这里主要介绍2个方法 方法1:直接在代码中创建和设置UIAtlas并对UISprite进行显示。这种方法可以对任何零散的贴图进行加载但缺点是浪费DrawCall,主要应用在特别零散的贴图资源上
|
方法2:将整个UIAtlas及其贴图打包,而后形成资源驻留在内存中(仅仅是指向资源的指针),UNITY3D会根据引用來确定贴图是否直接放实际内存中这种方法更适合ICON之类有规律可以配置整合的资源。缺点是需要维护
nIndex; |
总结: 以上两种方法基本能够应对大部分UI的现实问题ImageLoader本身传入的是Texture2D,所以即便是RenderTexture也没问题,都能与NGUI和谐相处加以扩展的话,就是让另一个摄像机导出的东西和当前NGUI摆的UI结合