设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1871|回复: 2
打印 上一主题 下一主题

[已经过期] 灼眼的夏娜的加密脚本怎么使用?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
85
在线时间
210 小时
注册时间
2013-7-26
帖子
346
跳转到指定楼层
1
发表于 2014-9-2 17:20:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
脚本说直接用 Data_Package.start 使用,具体方法是怎么样的?
  1. =begin

  2. 脚本:【制作数据包】

  3. 功能:对图片、音乐资源等进行数据包的制作等。

  4. 说明: 直接用 Data_Package.start 使用。

  5. 作者:灼眼的夏娜

  6. 补充: 在使用此脚本是时请确保所有的音乐图片文件都在游戏目录下。

  7. =end



  8. #==============================================================================
  9. # ★ 脚本部分 ★
  10. #==============================================================================

  11. #==============================================================================
  12. # ■ Data_Package
  13. #------------------------------------------------------------------------------
  14. #  数据包生成的模块。
  15. #==============================================================================

  16. module Data_Package

  17. #--------------------------------------------------------------------------
  18. # ● 开始制作数据包
  19. #--------------------------------------------------------------------------
  20. def self.start
  21.    @old_dir = Dir.pwd
  22.    @resource_type = ["png","jpg"]
  23.    @dump_filenames = []
  24.    @path = ""
  25.    self.next_file(@path)
  26.    Dir.chdir(@old_dir)
  27.    self.make(@dump_filenames)
  28. end

  29. #--------------------------------------------------------------------------
  30. # ● 搜索全部资源文件
  31. #--------------------------------------------------------------------------
  32. def self.next_file(path)
  33.    Dir.chdir(@old_dir)
  34.    Dir.chdir(path) if path != ""
  35.    for f in Dir["*"]
  36.      if FileTest.directory?(f)
  37.        @path = @path + f + "/"
  38.        self.next_file(@path)
  39.      else
  40.        if @resource_type.include? f.split(/\./)[1]
  41.          @dump_filenames.push @path + f
  42.        end
  43.      end
  44.    end
  45.    path_a = path.split(/\//)
  46.    @path = ""
  47.    for i in 0...path_a.size - 1
  48.      @path += path_a[i] + "/"
  49.    end
  50.    Dir.chdir(@old_dir)
  51.    Dir.chdir(@path) if @path != ""
  52. end

  53. #--------------------------------------------------------------------------
  54. # ● 包的生成
  55. #--------------------------------------------------------------------------
  56. def self.make(filenames)
  57.    database = File.open("data_package.dat","wb")
  58.    resource_list = "resource_list = {\n"
  59.    begin
  60.      for name in filenames
  61.        begin
  62.          fr = File.open(name,"rb")
  63.          code = fr.read
  64.          posop = database.pos
  65.          database.write Zlib::Deflate.deflate(code,9)
  66.          posed = database.pos
  67.          resource_list += sprintf("%s=>[%d,%d],\n","\"#{name.split(/\./)[0]}\"",posop,posed)
  68.        rescue
  69.          print "\"#{name}\" can't open"
  70.        ensure
  71.          fr.close
  72.        end
  73.      end
  74.    ensure
  75.      resource_list.slice!(resource_list.size-2,1)
  76.      resource_list += "}\n"
  77.      eval resource_list
  78.      save_data(resource_list,"resource_list.inf")
  79.      database.close
  80.      p 'make done'
  81.      exit
  82.    end
  83. end

  84. end
复制代码

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-9-2 17:36:37 | 只看该作者
本帖最后由 taroxd 于 2014-9-2 17:37 编辑

夏娜说得如此清楚,我不知如何补充

点评

会打包了,如何读取多个 $resource_list = load_data("resource_list.inf") $data_package = File.open("data_package.dat","rb")  发表于 2014-9-2 18:14
在哪,能给个链接吗  发表于 2014-9-2 17:44
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
94
在线时间
648 小时
注册时间
2009-2-3
帖子
238
3
发表于 2014-9-2 18:22:22 | 只看该作者
打完包之后呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-19 01:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表