赞 | 0 |
VIP | 9 |
好人卡 | 0 |
积分 | 1 |
经验 | 18278 |
最后登录 | 2018-5-1 |
在线时间 | 210 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 85
- 在线时间
- 210 小时
- 注册时间
- 2013-7-26
- 帖子
- 346
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
脚本说直接用 Data_Package.start 使用,具体方法是怎么样的?- =begin
- 脚本:【制作数据包】
-
- 功能:对图片、音乐资源等进行数据包的制作等。
-
- 说明: 直接用 Data_Package.start 使用。
- 作者:灼眼的夏娜
-
- 补充: 在使用此脚本是时请确保所有的音乐图片文件都在游戏目录下。
- =end
- #==============================================================================
- # ★ 脚本部分 ★
- #==============================================================================
- #==============================================================================
- # ■ Data_Package
- #------------------------------------------------------------------------------
- # 数据包生成的模块。
- #==============================================================================
- module Data_Package
-
- #--------------------------------------------------------------------------
- # ● 开始制作数据包
- #--------------------------------------------------------------------------
- def self.start
- @old_dir = Dir.pwd
- @resource_type = ["png","jpg"]
- @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
复制代码 |
|