【HTML5】Egret笔记(三):打包资源配置表

Egret默认的资源配置表是[default.res.json],官方虽有资源管理工具,但当资源量过大时还是很不方便,自写一个脚本根据文件名自动生成配置表。

Github:egret配置资源

使用:

1. 编辑resource/defalut.res.groups.json, 自定义分组

2. 将所需资源放在resource/assets 或 resource/res中

3. 执行res.sh, 脚本会遍历资源目录,根据文件名生成配置项

目前可识别json | png | jpg | xml | mp3格式,可以在res.sh中扩展。

 

#!/bin/bash
#------------------------------
# @File: res.sh
# @Brief: res
# 
# @Author: Pury
# @Version: 0.0.1
# @Date: 2016-12-02
#
# Copyright (c) pury.org.
# All rights reserved.
#------------------------------

spaces="    "
resources=""
content=""
cd resource
groups=$(cat default.res.groups.json)

function read_dir(){
	for file in `ls $1`
		do
		if [ -d $1"/"$file ]
		then
				read_dir $1"/"$file
		else
			file_name="${file%.*}"
			full_name=$1"/"$file
			extension="${file##*.}"

			case $extension in
				"json") 
					file_type="json"
				;;
				"png" | "jpg")
					file_type="image"
				;;
				"xml")
					file_type="xml"
				;;
				"mp3")
					file_type="sound"
			esac

resources="$resources{\n"\
"$spaces\"url\": \"$full_name\",\n"\
"$spaces\"type\": \"$file_type\",\n"\
"$spaces\"name\": \"$file_name"_"$extension\"\n"\
"},"
		fi
	done
}

read_dir assets
read_dir res
resources=${resources%?}
content="{\n$groups,\n\"resources\":[\n$resources]\n}"
echo -e "$content" > "default.res.json"
echo Done!