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

相关文章

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# 代码三、分辨率设置 - 清晰度的决定因

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

使用Python实现无损放大图片功能

《使用Python实现无损放大图片功能》本文介绍了如何使用Python的Pillow库进行无损图片放大,区分了JPEG和PNG格式在放大过程中的特点,并给出了示例代码,JPEG格式可能受压缩影响,需先... 目录一、什么是无损放大?二、实现方法步骤1:读取图片步骤2:无损放大图片步骤3:保存图片三、示php

SpringBoot加载profile全面解析

《SpringBoot加载profile全面解析》SpringBoot的Profile机制通过多配置文件和注解实现环境隔离,支持开发、测试、生产等不同环境的灵活配置切换,无需修改代码,关键点包括配置文... 目录题目详细答案什么是 Profile配置 Profile使用application-{profil

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的