GameFramework 中 图片 加载

2023-10-11 01:40
文章标签 加载 图片 gameframework

本文主要是介绍GameFramework 中 图片 加载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

代码来自烟雨迷离半世殇Unity作品展示:坦克大战(基于GameFramework)_设计师养成记-CSDN博客游戏名称:Battle City游戏素材:SIKI学院,爱给网开发平台:Unity 2018.3.1f1游戏平台:WinX游戏版本:1.0游戏用途:仅供学习交流使用,若用作商业,后果自负。游戏类型:经典坦克大战,微创新游戏介绍:加入商城模块,任务模块,存读档功能,技能背包系统,Buff系统源码下载:https://blog.csdn.net/qq_1502054...https://blog.csdn.net/qq_15020543/article/details/86760793

非常棒!推荐大家去看

游戏过程中需要加载的图片全部为SpritesAsset继承ScriptableObject。

namespace GameMain.Scripts.CostumAssets
{[Serializable]public class SpriteItem{/// <summary>/// 精灵名称/// </summary>public string m_SpriteName;/// <summary>/// 精灵/// </summary>public Sprite Sprite;}
}
namespace GameMain.Scripts.CostumAssets
{public class SpritesAsset : ScriptableObject{/// <summary>/// 精灵数组/// </summary>[SerializeField] public List<SpriteItem> m_SpritesAssets = new List<SpriteItem>();}
}

游戏开始后如何加载资源?

GameEntry.Resource.LoadAsset(AssetUtility.GetSpriteAsset(), OnLoadSpriteAssetSuccess);

其中,AssetUtility.GetSpriteAsset()位于工具类中,获得asset

建立工具类,方便资源的加载

namespace GameMain.Scripts.Utility
{public static class AssetUtility{public static string GetDataTableAsset(string assetName, LoadType loadType){return GameFramework.Utility.Text.Format("Assets/GameMain/DataTables/{0}.{1}", assetName,loadType == LoadType.Text ? "txt" : "bytes");}public static string GetSceneAsset(string assetName){return GameFramework.Utility.Text.Format("Assets/GameMain/Scenes/{0}.unity", assetName);}public static string GetSoundAsset(string assetName){return GameFramework.Utility.Text.Format("Assets/GameMain/Sounds/{0}.wav", assetName);}public static string GetEntityAsset(string assetName){return GameFramework.Utility.Text.Format("Assets/GameMain/Entities/{0}.prefab", assetName);}public static string GetUIFormAsset(string assetName){return GameFramework.Utility.Text.Format("Assets/GameMain/UI/UIForms/{0}.prefab", assetName);}public static string GetSpriteAsset(){return "Assets/GameMain/CostumAssets/SpritesAsset.asset";}}
}
        public LoadAssetCallbacksOnLoadSpriteAssetSuccess = new LoadAssetCallbacks(loadSpritsAssetCallback);

OnLoadSpriteAssetSuccess则是一个回调,在加载成功后回调,回调内容为:

        private static void loadSpritsAssetCallback(string assetname, object asset, float duration, object userdata){m_SpritesAsset = asset as SpritesAsset;}

SpritesAsset 类型的参数记录了这个回调返回的结果

 public static SpritesAsset m_SpritesAsset { get; set; }

最后是资源在游戏中的使用:

transform.GetComponent<SpriteRenderer>().sprite = GameManager.m_SpritesAsset.m_SpritesAssets[6].Sprite;

根据之前定义的结构进行读取即可!非常方便

    public class SpriteItem{/// <summary>/// 精灵名称/// </summary>public string m_SpriteName;/// <summary>/// 精灵/// </summary>public Sprite Sprite;}

这篇关于GameFramework 中 图片 加载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/184603

相关文章

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

Python多任务爬虫实现爬取图片和GDP数据

《Python多任务爬虫实现爬取图片和GDP数据》本文主要介绍了基于FastAPI开发Web站点的方法,包括搭建Web服务器、处理图片资源、实现多任务爬虫和数据可视化,同时,还简要介绍了Python爬... 目录一. 基于FastAPI之Web站点开发1. 基于FastAPI搭建Web服务器2. Web服务

springboot+mybatis一对多查询+懒加载实例

《springboot+mybatis一对多查询+懒加载实例》文章介绍了如何在SpringBoot和MyBatis中实现一对多查询的懒加载,通过配置MyBatis的`fetchType`属性,可以全局... 目录springboot+myBATis一对多查询+懒加载parent相关代码child 相关代码懒

利用Python将PDF文件转换为PNG图片的代码示例

《利用Python将PDF文件转换为PNG图片的代码示例》在日常工作和开发中,我们经常需要处理各种文档格式,PDF作为一种通用且跨平台的文档格式,被广泛应用于合同、报告、电子书等场景,然而,有时我们需... 目录引言为什么选择 python 进行 PDF 转 PNG?Spire.PDF for Python

MyBatis延迟加载与多级缓存全解析

《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

Android实现图片浏览功能的示例详解(附带源码)

《Android实现图片浏览功能的示例详解(附带源码)》在许多应用中,都需要展示图片并支持用户进行浏览,本文主要为大家介绍了如何通过Android实现图片浏览功能,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因