Project1

标题: 读取的图片不是固定的一个文件夹 [打印本页]

作者: neverstop    时间: 2014-10-2 13:29
标题: 读取的图片不是固定的一个文件夹
题目真不知要怎么讲的明白点。。诶吗

就是

       说,a.png本来要放在Graphics/System里,工程才能读取。

       但有没办法让a.png在Graphics里的其他文件中也能读取这张图片

       (好吧,难以描述清楚)

       恩。。。就是在“一个文件夹”里扔进去你工程要用到的图片,只要“一个文件夹”在Graphics里,游戏中就可以直接读取这些图

       (不用分批的放入Graphics中每个对应的文件夹中)也就是说,如果System文件夹里没有a.png,那就会去“一个文件夹”里找到a.png读取

       不知这讲的糊里糊涂的东西能不能实现。

        非常麻烦了~~{:2_280:}

      

      
作者: taroxd    时间: 2014-10-2 13:31
本帖最后由 taroxd 于 2014-10-2 13:33 编辑

Dir['Graphics/**/a.png']

这句语句的意思请参考 Ruby 文档。注意这个方法不能读取加密的文件。
作者: test    时间: 2014-10-2 17:22
本帖最后由 test 于 2014-10-3 12:40 编辑

RUBY 代码复制
  1. class << Bitmap
  2.   alias old_new new;
  3.   def new(*a)
  4.     if a[0].is_a?(String)
  5.       begin
  6.         old_new(a[0]).dispose();
  7.       rescue
  8.         ext = File.extname(a[0]);
  9.         a[0] = 'Graphics/一个文件夹/' + File.basename(a[0], ".*");
  10.         begin
  11.           old_new(a[0]).dispose();
  12.         rescue
  13.           a[0] += ext;
  14.         end
  15.       end
  16.     end
  17.     old_new(*a);
  18.   end
  19. end
  20. class << Graphics
  21.   alias old_transition transition;
  22.   def transition(*a)
  23.     if (a[1] != nil)
  24.       begin
  25.         Bitmap.new(a[1]).dispose();
  26.       rescue
  27.         ext = File.extname(a[1]);
  28.         a[1] = 'Graphics/一个文件夹/' + File.basename(a[1], ".*");
  29.         begin
  30.           Bitmap.new(a[1]).dispose();
  31.         rescue
  32.           a[1] += ext;
  33.         end
  34.       end
  35.     end
  36.     old_transition(*a);
  37.   end
  38. end


脚本放最上面,
可以试试把Graphics里面某张用到的图片移到“一个文件夹”里看看……

再试试看吧,我想大概应该没有问题了的……
作者: 喵呜喵5    时间: 2014-10-2 17:56
  1. class << Cache
  2.   alias m5_20141002_system system
  3.   def system(filename)
  4.     begin
  5.       m5_20141002_system(filename)      
  6.     rescue Errno::ENOENT
  7.       load_bitmap("Graphics/一个文件夹/", filename)
  8.     end
  9.   end
  10. end
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1