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

相关文章

Python如何去除图片干扰代码示例

《Python如何去除图片干扰代码示例》图片降噪是一个广泛应用于图像处理的技术,可以提高图像质量和相关应用的效果,:本文主要介绍Python如何去除图片干扰的相关资料,文中通过代码介绍的非常详细,... 目录一、噪声去除1. 高斯噪声(像素值正态分布扰动)2. 椒盐噪声(随机黑白像素点)3. 复杂噪声(如伪

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos

使用Python实现base64字符串与图片互转的详细步骤

《使用Python实现base64字符串与图片互转的详细步骤》要将一个Base64编码的字符串转换为图片文件并保存下来,可以使用Python的base64模块来实现,这一过程包括解码Base64字符串... 目录1. 图片编码为 Base64 字符串2. Base64 字符串解码为图片文件3. 示例使用注意

c/c++的opencv实现图片膨胀

《c/c++的opencv实现图片膨胀》图像膨胀是形态学操作,通过结构元素扩张亮区填充孔洞、连接断开部分、加粗物体,OpenCV的cv::dilate函数实现该操作,本文就来介绍一下opencv图片... 目录什么是图像膨胀?结构元素 (KerChina编程nel)OpenCV 中的 cv::dilate() 函

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

IDEA下"File is read-only"可能原因分析及"找不到或无法加载主类"的问题

《IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题》:本文主要介绍IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题,具有很好的参... 目录1.File is read-only”可能原因2.“找不到或无法加载主类”问题的解决总结1.File