{/hx}首先要感谢
wy29,禾西,冰水,沉影不器4人在
[讨论]如何破除地图999张的限制帖子中
http://rpg.blue/viewthread.php?tid=83080&page=1
提供资讯(或思路),我才能发出这样的教程!
补充:
范例工程中使用了地图显示名称的脚本,这个脚本也是要做小修改的,道理跟这个类似,
只是这次换成只有一个的MapInfos.rxdata了,自己看看哪里做了修改吧!!
case $game_variables[2]
when 0
@map = load_data(sprintf("Data/Map%03d.rxdata", @map_id))
when 1
@map = load_data(sprintf("Data1/Map%03d.rxdata", @map_id))
when 2
@map = load_data(sprintf("Data2/Map%03d.rxdata", @map_id))
.........
when N
@map = load_data(sprintf("DataN/Map%03d.rxdata", @map_id))
end
@map = load_data(sprintf("Data#{$game_variables[2]}/Map%03d.rxdata",@map_id)
以下引用TERENCE于2008-4-11 15:17:52的发言:
你不会用到那麼多的,顶多做到第二个Data资料夹就很了不起了。
case $game_variables[2]
when 0
@map = load_data(sprintf("Data/Map%03d.rxdata", @map_id))
when 1
@map = load_data(sprintf("Data1/Map%03d.rxdata", @map_id))
end
就可以了~~~~~
还有LS你这样写$game_variables[2]=0时就不是载入Data资料夹了~~~
而且我这样写可以自由替 新的DATA资料夹("Data1/.....") 作命名
以下引用非法用户于2008-4-11 16:14:16的发言:
我总是缩短供参考。
多以各分歧判断2号变量是不是0之后就真的可以做到无限地图层了,只是举例,只是举例。。。
以下引用越前リョーマ于2008-4-11 18:16:47的发言:
暂时没见过地图超过999张的游戏……
以下引用琉璃之血于2008-4-11 18:44:24的发言:
以下引用TERENCE于2008-4-11 15:17:52的发言:
你不会用到那麼多的,顶多做到第二个Data资料夹就很了不起了。
case $game_variables[2]
when 0
@map = load_data(sprintf("Data/Map%03d.rxdata", @map_id))
when 1
@map = load_data(sprintf("Data1/Map%03d.rxdata", @map_id))
end
就可以了~~~~~
还有LS你这样写$game_variables[2]=0时就不是载入Data资料夹了~~~
而且我这样写可以自由替 新的DATA资料夹("Data1/.....") 作命名
[本贴由作者于 2008-4-11 15:59:37 最后编辑]
这样呢?
@map = load_data(sprintf("Data#{$game_variables[2] == 0 ?"":$game_variables[2]}/Map%03d.rxdata",@map_id)
Ruby语法Very Good的字符内判式哦,哎~~~
以下引用琉璃之血于2008-4-11 18:44:24的发言:
这样呢?
@map = load_data(sprintf("Data#{$game_variables[2] == 0 ?"":$game_variables[2]}/Map%03d.rxdata",@map_id)
Ruby语法Very Good的字符内判式哦,哎~~~
以下引用水迭澜于2008-4-11 19:44:14的发言:
LZ还没有结帖呢
以下引用水迭澜于2008-4-11 19:44:14的发言:
LZ还没有结帖呢
以下引用琉璃之血于2008-4-11 19:47:57的发言:
程式要从内往外读= =bbb
读到抓狂的往往是新手ORZ
(1...32).find_all{|v| $data_weapons[v].atk > 32 and v % 2 == 0}
这样的式子从外往内读会很麻烦,而从迭代方式读到外面的range就没难度了。
def initialize(num=1)
@num = num
。。。。
end
@map = load_data(sprintf("Data#{@num}/Map%03d.rxdata",@map_id)
以下引用禾西于2008-4-14 9:23:31的发言:
我記得上次說過,在initialize那裏增加參數比之用變量控制來得容易。
def initialize(num=1)
@num = num
。。。。
end
然後只需要改
@map = load_data(sprintf("Data#{@num}/Map%03d.rxdata",@map_id)
在事件當中調用只要寫:
$game_map = Game_Map.new(num)
就可以了==
以下引用火鸡三毛老大于2008-4-14 20:34:54的发言:
这个 ..
要没有任何问题才能发正式版的游戏吧...
以下引用TERENCE于2008-4-14 17:17:36的发言:
我知道~~~~
但如果这篇教程我 照你的方法写 我就不是把你的方法给抄出来??
禾西的想法变成 我的原创东西发布,不就.......
所以我还是采用我那个笨方法发布出来,才不会抄袭禾西的想法。
因为当初 破除地图999张的方法 最早想出来的笨方法就是我吧~~~~~
这笨方法才是我的原创发布!!
以下引用鸿剑于2008-4-18 18:18:05的发言:
TERRENCE你的RPG制作大师XP是英特卫正版的吧?
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |