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

Project1

 找回密码
 注册会员
搜索
楼主: 文雅夕露
打印 上一主题 下一主题

[已经解决] 请教如何循环显示文件内的所有图片

[复制链接]

Lv4.逐梦者 (版主)

梦石
0
星屑
9497
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

1
发表于 2018-6-19 09:14:46 | 显示全部楼层
楼上猫叔正解。建议猫叔用 Dir.glob,Dir[] 的效果只是 Dir.glob 的一个特例。
RUBY 代码复制
  1. # 获取当前目录下所有 .jpg 文件
  2. Dir.glob("*.jpg")
  3.  
  4. # 获取 Graphics 目录下的所有文件
  5. Dir.glob("Graphics/*")


Dir.glob 会返回一个数组,里面包含了所有符合条件的文件名。但是刚刚测试发现 Dir.glob 给出的数组里面的顺序是乱的。因此最好来一句 sort 将其按名称排序。
RUBY 代码复制
  1. Dir.glob("Graphics/*").sort


另外:
1. 用 Bitmap.new 生成出来的图片最后记得释放,如果不释放直接用它生成下一张图的话可能会出毛病。
2. 如果是 N 张图简单拼接的话,工作量非常小。不需要手工拼接,任何一个能处理图片的代码都能干这事。最大的问题可能在于拼完了不知道总共是几张图拼起来的。

点评

这个返回的是文件目录+文件名啊..怎么用?  发表于 2018-6-20 09:57
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9497
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

2
发表于 2018-6-21 09:34:46 | 显示全部楼层
文雅夕露 发表于 2018-6-19 23:41
版主前辈...
我不知道该怎么用这个特例。
主要是还关联着切换的问题...

在你主楼的提问帖中并没有提到文件夹切换,因此我只回答了“如何遍历一个文件夹里所有文件”这个部分。

你的工程总得有些文件夹命名的结构,从你的描述上看我能猜出来个大概。每个不同的角色有不同的动作,每个不同的动作对应着一堆图片来表示动画。
看起来的目录结构应该是下面这样

  1. 角色1
  2.   - 动作1
  3.     - 1.png
  4.     - 2.png
  5.     - 3.png
  6.   - 动作2
  7.     - 1.png
  8.     - 2.png

  9. 角色2
  10.   - 动作1
  11.     ...
复制代码

现在的问题是,1. 角色的数量大概有多少?2. 动作的数量有多少?是不是每个角色都会拥有每个动作?例如,角色1可以只有两个动作的动画,角色2的动作动画是另外两个。

明确这些信息之后我会再给一个解决方案。


PS:提问的时候尽量把问题描述完整,为什么不在一开是提问的时候就把目录的切换也放进去呢?
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9497
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

3
发表于 2018-6-23 23:09:33 | 显示全部楼层
文雅夕露 发表于 2018-6-21 20:01
版主前辈猜得没错。
我的确是想这样表示的。
对版主的疑问回来一下:

简单做了一下,看 Action_Sprite 的脚本和 Scene_Vertical 改动的地方。

主要实现思路是由 Action_Sprite 脚本的 update 方法负责更新动画的每一帧。
Action_Sprite 有一个方法 set(actor_id, action_id),通过改变这两个值可以更改 Action_Sprite 内部的文件路径,从而达到目录切换的效果。
利用 Dir.glob 可以获取指定文件夹里的某些类型的所有文件。

建议将缓存功能统一整合到 RPG::Cache 模块里,而不是另外写一个。详见我的 Action_Sprite 脚本的第一部分。

因为给我的素材只有第三个角色的,所以测试的时候只能测试第三个角色的情况。

另外没太明白 Vertical.rxdata 的含义,因为我看到你的文件夹命名都很有规律,用不着这么多设定区域。可能改变的也只有 max 这个值了。如果这个值在游戏开始就已经定死不会变的话,感觉统一写在脚本的设定区域要更好。

Project20.7z (2.38 MB, 下载次数: 35)

点评

十分感谢版主前辈抽空写的范例,剩下的整合我自己来研究研究,再次感谢。  发表于 2018-6-23 23:50

评分

参与人数 1+1 收起 理由
文雅夕露 + 1 十分感谢

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-3 03:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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