Project1
标题:
地图事件库的用法?
[打印本页]
作者:
sagamore
时间:
2008-11-12 19:58
提示:
作者被禁止或删除 内容自动屏蔽
作者:
雪流星
时间:
2008-11-12 21:14
当前地图就是 $game_map
假设当前地图就是 2 号地图
那麽
map = load_data(sprintf("Data/Map%03d.rvdata", 仓库地图ID))
这句载入仓库地图的内容
event = map.events[N]
这句读取出在仓地图中ID为N的事件
例如:
map = load_data(sprintf("Data/Map%03d.rvdata", 1))
event = map.events[2]
就是从仓库地图(1号地图)读取出第2号事件
所以,要从一号地图读取1~100事件,就要用到循环:
map = load_data(sprintf("Data/Map%03d.rvdata", 1))
temp_events = []
map.events.size.times { |i| event << map.events[i] }
复制代码
[LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者:
sagamore
时间:
2008-11-12 21:37
提示:
作者被禁止或删除 内容自动屏蔽
作者:
雪流星
时间:
2008-11-12 22:26
1. 其实不需要去管到底是几号地图
当前地图就是$game_map
所以只要把仓库地图的事件放在当前地图上就行了
2. 地图上的事件是用数组保存的
所以用上面的脚本得到仓库地图中的1~100事件,记录在temp_event当中后
直接用数组的加法加进去就行了
$game_map.events + temp_event
复制代码
不过刚才看了一下脚本
Game_Map的event是唯读的,所以可以把刚才的脚本定义在Game_Mapo里面
class Game_Map
def add_event(store_map_id)
map = load_data(sprintf("Data/Map%03d.rvdata", 1))
temp_events = []
map.events.size.times { |i| event << map.events[i] }
@events + temp_event
end
end
复制代码
试试看,我先睡了{/hx}
作者:
sagamore
时间:
2008-11-12 22:50
提示:
作者被禁止或删除 内容自动屏蔽
作者:
一路一风尘
时间:
2008-11-13 19:03
提示:
作者被禁止或删除 内容自动屏蔽
作者:
sagamore
时间:
2008-11-13 22:32
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1