关于Defold动态加载图片 世界新要闻
拿到一张图片(PNG),想要显示出来,可以让GUI Node显示,或者让Sprite显示。
(相关资料图)
GUI Node显示:将图片文件加载为纹理。先用sys.load_resource()将图片文件转换成String,然后用image.load将图片String转换为图片Lua表,最后用gui.new_texture()将图片Lua表转换为GUI纹理。把纹理绑定在GUI Node上,完成显示。
需要注意,GUI Node恒定遮挡游戏世界的元素。因此如果你的游戏不是100%用GUI Node实现的话,按这个方法就不能实现“封面铺底”一类的效果。
Sprite显示 法一
首先,想个办法让你的图片资源能出现在磁盘上。对于玩家导入曲目的音游,好说;对于制作方收录曲子的音游,设为Bundle Resource(可以自己实现一个压缩再解压/加密再解密什么的,也可以源文件存储)。
然后,用Lua io库打开文件,再用Defold-PNG原生扩展将打开的PNG文件转换成材质Buffer,另外手搓一个材质的header。
最后直接用resource.set_texture()把目标Sprite的材质改掉。
Sprite显示 法二
转变思路:Sprite原生只支持Atlas,那就尝试把图片转换成Atlas资源。转换比较简单,用Defold的编辑器创建一个Atlas,再加入我们的PNG图片即可。
第一反应是把Atlas文件存到Custom Resource中,然后尝试用sys.load_resource()的加载结果作为Sprite的image属性;或者直接上go.property("my_image",resource.atlas(path))再借助self userdata取得"my_image"属性的值,认为这个值是指向成品图集的hash,设置为Sprite的image属性。
这一堆都是不可行的。因为Custom Resource最终是原样打包不带任何检测,而编辑器产生的xxx.atlas文件并不是成品图集,仅仅是一个配置文件。。。。。。。
因此必须让最终可能加载的Atlas都进入静态资源树内,使其在打包时被转换为成品图集。这里有一计:
A. 准备index_01.go,index_02.go之类的Game Object文件,这些Game Object下的组件是各个Sprite,将它们的image属性设置成最终需要加载的Atlas;
B. 准备一个index.collection,集合内对每一个index_**.go添加一个Factory,这些Factory全部设为Load Dynamically(其实我们根本不打算让index.collection下面的Factory创建index_**.go的实例)
C. 将这个index.collection扔到启动集合内。
再之后,用resource.atlas()加载的Atlas就是成品图集了。用go.property()载入Atlas,然后把Atlas的Hash转移到目标Sprite的image属性,最后用sprite.play_flipbook()使设定的图片可以显示出来。
go.property(id,value)的value可以是一个提前建好的全局变量,这样Atlas的载入就动态起来了。
下次讲讲Defold的脚本文件加载。
标签:
2023-04-08 01:45:42
1、院系的好坏分两种,一种是和全国其他学校的相同院系比的好坏,另一只是本学校内各个不同院系的好坏。2、如果是第一种情况,
2023-04-07 22:08:29
1、两位式调节阀则既可以在0~100%之间调节。2、又有开和关两个位置可以快速动作。3、实际上就是调节阀加上电磁阀控制调
2023-04-07 19:13:36
1、预防医学专业很好,未雨绸缪,预防为主,这句话也适用医学,从以往各种病历,包括癌症,它的发生发展需要慢长的时间,所以只有在病情发展初
2023-04-07 17:25:47
陈皮绿豆沙的禁忌有体寒者不宜食用,不能和药物一起服用,不能天天吃等,否则会加重身体的负担,影响身体健康。体寒者食用过量的陈皮绿豆沙会
2023-04-07 17:42:36
体质虚寒患者是罗汉果炖雪梨的食用禁忌之一,若体质虚寒患者食用罗汉果炖雪梨,可能会导致身体虚寒症状加重。同时需要注意糖尿病患者食用罗汉
热图推荐
创世纪
通信
最近更新
- 关于Defold动态加载图片 世界新要闻
- 东华大学人工智能专业怎么样_东华大学
- 华策影视:公司参投电影《流浪地球2》
- 环球实时:千禾味业2022年净利润同比增
- 【全球播资讯】罗托克电动调节阀门_调
- 焦点信息:宅男财经|巴奴火锅要上市?价
- 全球看热讯:国家医保局:前两月基本医
- 2.60亿元资金今日流出煤炭股
- 焦点播报:人机交互企业Rokid完成1亿元
- 周鸿祎:360全网数字安全大脑将结合GPT
- 天天快看:预防医学专业怎么样考研
- 独家|悬赏700万元!正源股份二股东追
- 世界热头条丨陈皮绿豆沙禁忌
- 世界讯息:罗汉果炖雪梨食用禁忌
- 史上最大单笔箱船订单!中船获法国达飞
- 2023款秦PLUS EV冠军版上市 售12.98万元起
- 因EDR记录不完整 本田召回雅阁和INSPIRE
- 集泰股份(002909):第三届第二十一次董
- 每日看点!以岭药业(002603):创新药XY
- 新疆托克逊:40余台卫星导航播种机助力
- 新浪页游助手缓存清理教程是什么? wi
- 新浪页游助手启动游戏失败解决方法是什
- 新浪页游助手字体恢复教程是什么? 手
- 新浪页游助手游戏平台添加教程是什么?
- 新浪页游助手复制游戏地址登录教程是什
- 环球信息:2023杨柳絮预警地图来了 这
- 美前州长:美国无法遏制中国发展 不应
- 天天热点评!追光|这场全国比赛,让近
- 异能高手在都市_异能高手在校园-全球球
- 近视了怎样恢复视力简单的方法_近视了
热点
CB-FH52是爱普生推出的3LCD商务投影机。作为新一代的商务投影机,CB-FH52具有高达4000流明的色彩亮度,投屏画面明亮清晰、色彩鲜艳,一经推
详细>>2023年2月16日,由流媒体网、易目唯文化主办,黑龙江龙网视传媒有限公司协办的第七届金屏奖暨2022年度中国智能视听与科技创新产业盛典在哈
详细>>2月14日,首届华彩杯算力基础设施应用创新大赛(以下简称大赛)在京正式启动。中国工程院邬贺铨院士、张宏科院士,工信部信息通信发展司一级巡
详细>>2023年1月13日,2022(第六届)中国行业数字化年度风云榜(以下简称2022风云榜)评选结果正式发布。本届风云榜由信息化观察网组织发起,以5
详细>>每年过年,必不可少的项目之一,就是发红包。一封封烫金封口、漂亮厚实的红包,带着一句句恭喜发财的欢乐祝福,浓浓的年味瞬间扑面而来。在
详细>>作为存储品牌巨头西部数据旗下的西数,一直在引领行内固态硬盘的技术走向,其旗下也都推出了全系列满足不同场景需求的移动固态硬盘产品,让
详细>>