社区开源框架音效管理模块:AvatarManager详解
时间:2022-07-24
本文章向大家介绍社区开源框架音效管理模块:AvatarManager详解,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
地址:https://github.com/Golangltd/LollipopCreator
版本刚刚开源,后续会持续更新!
框架文档地址:GameAIs.Com
LollipopCreator:AvatarManager
LollipopCreator游戏框架
游戏客户端开发中,由于制作人或者策划立项的不同,导致前端开发并不像后端框架不变,例如 2D游戏开发,引擎选择就比较多,Unity、cocos、 白鹭等都可以,本系列就是给大家开源一套cocos creator引擎开发的2D游戏框架LollipopGo。 creator 系统为例,给大家梳理下前端2D游戏架构的基础设计思想。
Index
返回首页
- 如何设计
- 调用流程
- 实例代码
如何设计
1. 工程中的头像资源管理,包括头像资源的加载等
调用流程
例子:
load() {
cc.loader.loadResDir('Base/data/ABhead', cc.SpriteFrame, (err, assets) => {
if (err) {
return cc.error(err)
}
assets.forEach((it) => {
this.staticHead[it.name] = it
})
})
}
注意点:资源位置Base/data/ABhead,其中ABhead目录是可以换成自己的目录的
实例代码
'use strict'
class AvatarManager {
constructor() {
this.textures = {}
this.staticHead = {}
}
load() {
cc.loader.loadResDir('Base/data/ABhead', cc.SpriteFrame, (err, assets) => {
if (err) {
return cc.error(err)
}
assets.forEach((it) => {
this.staticHead[it.name] = it
})
})
}
getHeadImgByIdx(idx) {
// return this.staticHead[`tx_${idx + 1}`]
if (idx == 0)
idx = 1;
return this.staticHead[`tx_${idx}`]
}
setByTex(node, tex) {
let sp = node.getComponent(cc.Sprite)
sp.spriteFrame = new cc.SpriteFrame(tex)
// node.width = node.width
// node.height = node.height
}
setByURL(node, url) {
// if (!cc.sys.isNative || !url) {
let sp = node.getComponent(cc.Sprite)
// sp.spriteFrame = null
sp.spriteFrame = this.getHeadImgByIdx(url);
// 读取网络的数据
if (!url) {
return
}
if (this.textures[url]) {
this.setByTex(node, this.textures[url])
} else {
cc.loader.load({ url: url, type: "jpg" }, (err, tex) => {
if (err) {
return cc.log('setByURL fail to load ', url)
}
this.textures[url] = tex
this.setByTex(node, tex)
})
}
}
}
window.avatarMgr = new AvatarManager
Golang语言社区 | ByteEdu教育平台
版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android开发之文件操作详解
- Linux查看服务器硬件信息的方法步骤
- Android实现EditText的富文本编辑
- Android仿搜狐视频、微视等列表播放视频功能
- android如何获取联系人所有信息
- Android条目拖拽删除功能实例代码
- Android Button点击事件的四种实现方法
- Android的App启动时白屏的问题解决办法
- Android获取本机各种类型文件的方法
- Android保存联系人到通讯录的方法
- Android学习之本地广播使用方法详解
- Android编程获取图片数据的方法详解
- Android垂直滚动控件ScrollView使用方法详解
- Android开发之自定义view实现通讯录列表A~Z字母提示效果【附demo源码下载】
- Android ExpandableRecyclerView使用方法详解