首页 > 其他分享 >Unity3D中Resources动态加载NGUI图片

Unity3D中Resources动态加载NGUI图片

时间:2023-01-05 13:05:49浏览次数:52  
标签:Unity3D UIAtlas sprite GameObject NGUI Resources 加载


在NGUI中有些图片我需要动态进行变更或者加载,怎么办?

首先在项目中创建一个Resources目录,接着把需要的图片放在这里面,可以有子文件夹么?当然可以,文件结构很重要哦~

NGUI加载图片的方法其实是加载NGUI生成的atlas,大家可以看看NGUI的图集文件(一个material、一个prefab,一张图集),我们要做的就是动态加载这个prefab(它有UIAtlas属性),然后通过图片名称更改图片。

我这里那UISprite来说明,我是这样做的:

UIAtlas tu =Resources.Load("Cards/ 001", typeof(UIAtlas)) asUIAtlas;

对于上面这行需要注意,后面的type,单独写括号里面的typeof(UIAtlas)是不行的,后面还要更上 as UIAtlas,

如果你的是GameObject的话就是这样:

GameObject tu =Resources.Load("Cards/ 001", typeof(GameObject )) as GameObject; 

明白了吧。。。。

Sprite sprite = _Player;   //_Player是暴露变量,用来记录外面的UISprite,你懂得

sprite.atlas =tu;

sprite.spriteName ="photo";  //这里跟上这个atlas里面的图片的名称

sprite.MakePixelPerfect();   //这里记得要make一下,不然_Player的大小是不会变化的,看你个人需要

Debug.Log("资源加载完成");

标签:Unity3D,UIAtlas,sprite,GameObject,NGUI,Resources,加载
From: https://blog.51cto.com/u_8378185/5990710

相关文章

  • Unity3D之sprite动画(Animation)的制作
    实例说明:忍者跑酷的player动画制作。。。这些都是用Sprite做的动画。。。在prioject面板里的一组sprite里面点击,之后看属性面板的SpriteEditor对这组Sprite进行编辑。。。......
  • unity3d相机跟随物体平滑移动(C#代码)
    usingUnityEngine;usingSystem.Collections;publicclassCameraFollow:MonoBehaviour{publicTransformtarget;privateVector3wantedPosition......
  • Unity3d碰撞器与触发器的区别详解(rigidbody移动和charactercontroller移动区别)
    Rigidbody或者charactercontroller移动才可以用collider的碰撞。正文:要产生碰撞必须为游戏对象添加刚体(Rigidbody)和碰撞器,刚体可以让物体在物理影响下运动。碰撞体是物理......
  • unity3d脚本之鸡零狗碎
    这里记录的是unity3d开发中用到的鸡零狗碎的代码片段。1、键盘方向键移动对象publicclassKeyboardMove:MonoBehaviour{privatefloatspeed=5f;voidFixedUpdate......
  • unity3d,android平台下,高德地图定位,定位模式设定
    接上一篇,有时候不是想偷懒,实在是不会用androidstudio再次打包啊。高德地图定位androidsdk中,设置定位模式,java代码如下://设置定位模式为高精度模式,Battery_Saving为低功耗......
  • unity3d调用jar类中的方法和属性
    这里用的unity3d的版本是5.3.2在eclipse里新建一个java工程,并导出成jar。packagecom.innyo.androidplugin;publicclassapTest{publicapTest(StringinString){t......
  • unity3d,android平台下,高德地图搜索附近
    今天把高德地图androidsdk搜索附近的功能搞定了。和定位一样,引入jar,AndroidManifest.xml和定位的一样,没有需要修改的地方。改的多的是Java插件。原java示例代码中,query=n......
  • unity3d,android平台下,高德地图定位
    这里,用了一个比较偷懒的办法,直接用高德提供的android定位sdk,没有重新编译。好处是省事,坏处是,没法修改默认的定位模式。部分信息获取不到。如果需要完整的功能,还是需要重新编......
  • unity3d 尝试 基于地理定位的 增强现实
    首先说,这个尝试失败,属于死在去医院的路上那种。基于地理定位的增强现实,AR全息实景,是一种高大上的说法,说直白点就是山寨类似随便走这样的应用。打开应用,搜索周边信息,然后再把......
  • unity3d,异步加载场景
    很简单,代码如下:usingUnityEngine;usingSystem.Collections;usingUnityEngine.UI;publicclassLoading:MonoBehaviour{publicSliderloading_bar;privateAsyncO......