从Fgui中的图集中取一个图素,把图素用到场景等非UI的地方。

此操作会动态创建一个Sprite对象,效率不好,不适合大量使用。

 private static Dictionary<string, Sprite> cacheSpriteByFGUIDic = new Dictionary<string, Sprite>();
/// <summary>
/// 从FGUI中取一张图片并返回一个Sprite(不建议频繁使用)
/// </summary>
/// <param name="packageName"></param>
/// <param name="texName"></param>
public static Sprite GetSpriteByFGUI(string packageName, string texName)
{
if (cacheSpriteByFGUIDic.ContainsKey(texName))
return cacheSpriteByFGUIDic[texName];
else
{
FairyGUI.GImage gImage = FairyGUI.UIPackage.CreateObject(packageName, texName).asImage;
Rect rect = new Rect(gImage.texture.uvRect.x * gImage.texture.nativeTexture.width, gImage.texture.uvRect.y * gImage.texture.nativeTexture.height,
gImage.texture.uvRect.width * gImage.texture.nativeTexture.width, gImage.texture.uvRect.height * gImage.texture.nativeTexture.height);
Sprite sprite = Sprite.Create((Texture2D)gImage.texture.nativeTexture, rect, new Vector2(0.5f, 0.5f), 100);
gImage.Dispose();
cacheSpriteByFGUIDic.Add(texName, sprite);
return sprite;
}
}

从FGUI中取一张图片并返回一个Sprite的更多相关文章

  1. 从list中取N个随机生成一个集合

    在工作中发现有很多有序算法,较少见到一些可用的无序随机算法.无序随机算法的目的是让客户感觉每次都不一样,因为一直看一样的会审美疲劳哈. 在jdk自带一种CollectionUtils.shuffle& ...

  2. mybatis从数据库中取数据且分组,返回分组数据

    mapper.xml文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PU ...

  3. 从一个数组对象中取key 和value组成一个新的对象

    const type = [ {key:'TimeWeiDu',value:'时间维度'}, {key:'TranType',value:'交易类型'}, {key:'OrderType',value ...

  4. C#之桶中取黑白球问题

    <编程之美>284页,问题4.6:桶中取黑白球. 有一个桶,里面有白球.黑球各100个,人们必须按照以下规则把球取出来: 1. 每次从桶中拿两个球: 2. 如果两球同色,再放入一个黑球: ...

  5. 总结C++中取成员函数地址的几种方法

    这里, 我整理了4种C++中取成员函数地址的方法, 第1,2,4种整理于网上的方法, 第3种cdecl_cast是我自己想到的. 其中, 第4种(汇编)的方法不能在VC6上编译通过. 推荐使用第1,2 ...

  6. JavaScript进阶(五)js中取小数整数部分函数

    js中取小数整数部分函数 丢弃小数部分,保留整数部分 js:parseInt(7/2) 向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 四舍五入 js: Math.round(7 ...

  7. Spring MVC中Controller如何将数据返回给页面

    要实现Controller返回数据给页面,Spring MVC 提供了以下几种途径: ModelAndView:将视图和数据封装成ModelAndView对象,作为方法的返回值,数据最终会存到Http ...

  8. js中取小数整数部分函数;取小数部分

    1.丢弃小数部分,保留整数部分 parseInt(23.56); 结果:23 2.向上取整,有小数就整数部分加1 Math.ceil(23.56) 结果:24 3,四舍五入. Math.round(2 ...

  9. 【转】总结C++中取成员函数地址的几种方法

    转自:“http://www.cnblogs.com/nbsofer/p/get_member_function_address_cpp.html” 这里, 我整理了4种C++中取成员函数地址的方法, ...

  10. [转]Java中Date转换大全,返回yyyy-MM-dd的Date类型

    /** * 获取现在时间,这个好用 * * @return返回长时间格式 yyyy-MM-dd HH:mm:ss */ public static Date getSqlDate() { Date s ...

随机推荐

  1. “堆内存持续占用高 且 ygc回收效果不佳” 排查处理实践

    作者:京东零售 王江波 说明:部分素材来源于网络,数据分析全为真实数据. 一. 问题背景 自建的两套工具,运行一段时间后均出现 内存占用高触发报警,频繁young gc且效果不佳.曾经尝试多次解决,因 ...

  2. qt_2d画图

    qt中如何画图? 使用Qpainter类进行2D绘画 例如以下代码进行直线的绘制 QPainter painter(this);painter.setPen(Qt::red);painter.draw ...

  3. spring 特性

    1.Aware系列接口 spring 6.0提供了一系列的Aware接口,方便我们在Bean加载时获取信息 如 @Service public class study implements BeanN ...

  4. the default discovery settings are unsuitable for production use at least one of...的解决办法

    解决办法 elasticsearch.yml加上 discovery.type: single-node

  5. S-HR常用源码

    1.public static String getUserId(Context ctx) {        UserInfo userInfo = ContextUtil.getCurrentUse ...

  6. 蓝桥杯题目——翻硬币无需修改‘*’与’o‘的特殊解法及其所包含的思想

    前言 本文介绍蓝桥杯题目--翻硬币的一种无需对字符串进行操作的解法及该解法所包含的思想. 题目信息 桌上放着排成一排的若干硬币.我们用 * 表示正面,用 o 表示反面(是小写字母,不是零). 比如,可 ...

  7. springboot上传文件失败:The temporary upload location [/tmp/tomcat.7112002115745457830.8765/work/Tomcat/localhost/ROOT] is not valid

    字面意思就是上传的临时目录不存在,问题就是linux系统会自动清理tmp目录下超过10天没有任何操作的目录或文件 解决办法 1.重启springboot服务,当然这只是暂时的,下次隔太久一样会失效 2 ...

  8. MAC系统连接Windows共享文件的方法:

    MAC系统连接Windows共享文件的方法: 1.首先先确认Windows系统下已开启共享.并且两台电脑之间局域网已通. 2.苹果MAC系统,点击桌面.打开顶部菜单 "前往". 3 ...

  9. docker tar包下载地址

    https://download.docker.com/linux/static/stable/x86_64/

  10. CentOS7下MySQL数据的导入和导出

    一.数据导入 (1)进入mysql [root@localhost mysql]# mysql -u root -p (2)转到对应数据库下 mysql> use zenith_star; (3 ...