赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 7251 |
最后登录 | 2016-12-17 |
在线时间 | 97 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 97 小时
- 注册时间
- 2015-3-27
- 帖子
- 225
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
顺便问一下,那个制作数据包的脚本如何用
作者所说的【 直接用 Data_Package.start 使用】什么意思
#==============================================================================
# ★ 说明部分 ★
#==============================================================================
=begin
脚本:【制作数据包】
功能:对图片、音乐资源等进行数据包的制作等。
说明: 直接用 Data_Package.start 使用。
作者:灼眼的夏娜
补充: 在使用此脚本是时请确保所有的音乐图片文件都在游戏目录下。
=end
#==============================================================================
# ★ 脚本部分 ★
#==============================================================================
#==============================================================================
# ■ Data_Package
#------------------------------------------------------------------------------
# 数据包生成的模块。
#==============================================================================
module Data_Package
#--------------------------------------------------------------------------
# ● 开始制作数据包
#--------------------------------------------------------------------------
def self.start
@old_dir = Dir.pwd
@resource_type = ["bmp","jpg","png","wav","mp3","ogg","wma","mid"]
@dump_filenames = []
@path = ""
self.next_file(@path)
Dir.chdir(@old_dir)
self.make(@dump_filenames)
end
#--------------------------------------------------------------------------
# ● 搜索全部资源文件
#--------------------------------------------------------------------------
def self.next_file(path)
Dir.chdir(@old_dir)
Dir.chdir(path) if path != ""
for f in Dir["*"]
if FileTest.directory?(f)
@path = @path + f + "/"
self.next_file(@path)
else
if @resource_type.include? f.split(/\./)[1]
@dump_filenames.push @path + f
end
end
end
path_a = path.split(/\//)
@path = ""
for i in 0...path_a.size - 1
@path += path_a[i] + "/"
end
Dir.chdir(@old_dir)
Dir.chdir(@path) if @path != ""
end
#--------------------------------------------------------------------------
# ● 包的生成
#--------------------------------------------------------------------------
def self.make(filenames)
database = File.open("data_package.dat","wb")
resource_list = "resource_list = {\n"
begin
for name in filenames
begin
fr = File.open(name,"rb")
code = fr.read
posop = database.pos
database.write Zlib::Deflate.deflate(code,9)
posed = database.pos
resource_list += sprintf("%s=>[%d,%d],\n","\"#{name.split(/\./)[0]}\"",posop,posed)
rescue
print "\"#{name}\" can't open"
ensure
fr.close
end
end
ensure
resource_list.slice!(resource_list.size-2,1)
resource_list += "}\n"
eval resource_list
save_data(resource_list,"resource_list.inf")
database.close
p 'make done'
exit
end
end
end
#==============================================================================
# ★ 结束 ★
#==============================================================================
|
|