| 赞 | 7 |
| VIP | |
| 好人卡 | |
| 积分 | 32 |
| 经验 | |
| 最后登录 | 2026-9-4 |
| 在线时间 | 3619 小时 |
双子人
- 梦石
- 0
- 星屑
- 3205
- 在线时间
- 3619 小时
- 注册时间
- 2009-4-4
- 回帖
- 3901

|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
本帖最后由 hys111111 于 2017-1-27 14:05 编辑
随机附加图块.rar
(308.5 KB, 下载次数: 129)
地图美化也是游戏中的一个重要的事情,
但是游戏中的地图经常容易出现图块单一重复,实在看不下去。
然后就做出这个系统。
下面放出一些图片,介绍这个系统到底有什么用呢?
[fold=截图]
这是工程里的图片:
实际运行中是这样的:(注意树木和部分物品的差异)
[/fold]
[fold=截图]
注意这些树,几乎没有一棵树是完全一样的。
水上的波纹,也会动,而且在工程中不显示,是自动换下来的。
[/fold]
其实这个系统就是替换图块的系统,而且虽然叫做随机,实际上还是比较固定地替换图块的。
另外,这个系统还可以做出普通图块像自动元件一样能够动的效果。
[fold=部分素材]
图中被替换的树的素材
这是整棵树替换,总共有4种替换方法
同样被替换的树的素材
这个不是整棵树替换,所以不止8种替换方法……
[/fold]
这个修改图块的方法,也在脚本编辑器里了。
[pre lang="ruby"]=begin
图块编号说明:
自动元件
48~95、96~143、144~191、192~239、240~287、288~335、336~383
从第二行的第一个图块开始
384、385、386、387、388、389、390、391、
392、393、394、395、396、397、398、399、
……
以此类推
=end
module Random_Tileset
name = "001-Grassland01"
# 这个是附加的图块名称
NUMBER[name] = {}
RANDOM[name] = {}
WIDTH[name] = {}
HEIGHT[name] = {}
SPEAR[name] = {}
ANIME[name] = {}
FRAME[name] = {}
# 这个是初始化变量,不用动,新增文件名时要复制过去
tile = 385
# 修改的图块ID
NUMBER[name][tile] = 5
# 该图块的变化数量 (必填,否则没反应)
# 注意,文件宽度要小于或等于256(也就是8个图块),不够放就换行,否则超出部分截不到
RANDOM[name][tile] = nil
# 图块的分布情况,不填或填nil默认是[0,1,……,NUMBER[name][tile]]
# 0是原图块,1开始是改后图块
# 如果希望原图块分布多一些,填入[0,0,0,0,0,1,2……]使0分布多一些
WIDTH[name][tile] = 1
# 图块格数,比如树(424号图块)就填4 (默认为1,不能超过8)
HEIGHT[name][tile] = 1
# 图块格数,比如树(424号图块)就填5 (默认为1)
SPEAR[name][tile] = false
# 连续图块是否分散分布 (宽度、高度为1*1时无效,默认为false)
ANIME[name][tile] = nil
# 像自动原件一样的动画 (通常为数组,默认为nil)
FRAME[name][tile] = "Graphics.frame_count % 4 == 0"
# 元件动画切换条件 (默认为上面这行字符串,ANIME为nil无效)
# 比如说,天气为风的时候,图块才动,就输入"$game_screen.weather_type == 3"
tile = 407
NUMBER[name][tile] = 4
RANDOM[name][tile] = nil
WIDTH[name][tile] = 1
HEIGHT[name][tile] = 1
SPEAR[name][tile] = false
ANIME[name][tile] = [0,1,2,3,4]# 如果不填0,原图块是没有动画的
FRAME[name][tile] = "rand(4) == 0"
tile = 424
NUMBER[name][tile] = 4
RANDOM[name][tile] = nil
WIDTH[name][tile] = 4
HEIGHT[name][tile] = 5
SPEAR[name][tile] = false
ANIME[name][tile] = nil
FRAME[name][tile] = "Graphics.frame_count % 4 == 0"
end[/pre]
修改脚本后,比如说这个的文件名叫做“001-Grassland01”
你就在“Graphic/Tileset”下建一个文件夹,名为“001-Grassland01_Random Add On”
并在该目录下(自动元件也是一样),放置替换图块的素材文件,文件名为被替换的图块ID(第3到第10行)
其实这就是一个偷懒画地图的脚本。下载那个工程看看吧。
如果需要移植到自己的工程的话,把脚本编辑器里面的东西复制过去,然后按照自己的需求修改并添加素材就可以了。
另外,如果你自己的工程事先放了一些能把Spriteset_Map重定义的脚本(如防卡脚本),该脚本需要插在那些脚本的下面。
(实在不懂的话,就放在其它脚本下面,Main前面就对了) |
评分
-
查看全部评分
|