查看: 2140|回复: 3

[已经解决] 读取的图片不是固定的一个文件夹

[复制链接]
梦石
0
星屑
3841
在线时间
723 小时
注册时间
2014-3-29
回帖
449
发表于 2014-10-2 13:29:29 | 显示全部楼层 |阅读模式

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

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

×
题目真不知要怎么讲的明白点。。诶吗

就是

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

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

       (好吧,难以描述清楚)

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

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

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

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

      

      

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-10-2 13:31:07 | 显示全部楼层
本帖最后由 taroxd 于 2014-10-2 13:33 编辑

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

这句语句的意思请参考 Ruby 文档。注意这个方法不能读取加密的文件。

点评

嗯。这个方法会影响一些效率,所以不要滥用。  发表于 2014-10-2 16:34
这个是事件里用的"显示图片"命令的脚本,在事件里用没问题,但是需要改一下。照搬来用可能会有问题的。  发表于 2014-10-2 16:28
诶,直接改在脚本里可以么  发表于 2014-10-2 15:50
哦哦,谢了  发表于 2014-10-2 15:48
举个例子:在事件中插入脚本 $game_map.screen.pictures[1].show(Dir['Graphics/**/a.png'][0], 0, 0, 0, 1.0, 1.0, 255, 1) 然后不管a.png放在Graphics里的什么位置都能显示出来。  发表于 2014-10-2 15:37
回复

使用道具 举报

梦石
0
星屑
65
在线时间
389 小时
注册时间
2009-11-24
回帖
59
发表于 2014-10-2 17:22:37 | 显示全部楼层
本帖最后由 test 于 2014-10-3 12:40 编辑

[pre lang='ruby' line='1']class << Bitmap
  alias old_new new;
  def new(*a)
    if a[0].is_a?(String)
      begin
        old_new(a[0]).dispose();
      rescue
        ext = File.extname(a[0]);
        a[0] = 'Graphics/一个文件夹/' + File.basename(a[0], ".*");
        begin
          old_new(a[0]).dispose();
        rescue
          a[0] += ext;
        end
      end
    end
    old_new(*a);
  end
end
class << Graphics
  alias old_transition transition;
  def transition(*a)
    if (a[1] != nil)
      begin
        Bitmap.new(a[1]).dispose();
      rescue
        ext = File.extname(a[1]);
        a[1] = 'Graphics/一个文件夹/' + File.basename(a[1], ".*");
        begin
          Bitmap.new(a[1]).dispose();
        rescue
          a[1] += ext;
        end
      end
    end
    old_transition(*a);
  end
end
[/pre]

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

再试试看吧,我想大概应该没有问题了的……

点评

恩。那好吧,真是太麻烦你了  发表于 2014-10-3 15:23
不会了……  发表于 2014-10-3 15:00
但是之前的在BUTS里的图片还会读取么  发表于 2014-10-3 14:36
把这个脚本20行的: FOLDER="Busts" 改成 FOLDER="一个文件夹" 应该就好了吧。  发表于 2014-10-3 14:24
http://rm.66rpg.com/thread-318068-1-1.html 人物半身像的  发表于 2014-10-3 13:49
回复

使用道具 举报

梦石
1
星屑
23246
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2014-10-2 17:56:54 | 显示全部楼层
  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
复制代码

点评

只读取一级?  发表于 2014-10-3 11:31
不对,去掉Graphics/是指和game.exe同一个文件夹的位置……  发表于 2014-10-3 11:28
去掉Graphics/就是读取整个游戏目录了?  发表于 2014-10-3 11:17
自信なさすぎるんです!  发表于 2014-10-2 21:48
あははっ(苦笑)……あたしより翻訳機がずっと強いと思います……  发表于 2014-10-2 21:43

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 我语死早

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部