Project1

标题: 如何在游戏中更改部分图块 [打印本页]

作者: denis466    时间: 2011-8-12 16:23
标题: 如何在游戏中更改部分图块
本帖最后由 denis466 于 2011-8-12 16:24 编辑

简单点说,就像泡泡堂一样,炸到哪个图块,哪个图块就消失,如果用事件做会很卡,所以希望能用图块解决,比如地形标志==2就能被炸什么的。dsu_plus_rewardpost_czw
作者: fux2    时间: 2011-8-12 17:23
1,参考一下魔塔范例,挖墙的工具实现方法.
2,修改并重新载入地图,不过TileMap这种内部类改的话有点蛋疼.
3,自制地图,这种最方便.
作者: denis466    时间: 2011-8-12 17:25
刚看了下,但是看不懂,能不能具体些,还有图块的ID怎么看
作者: 忧雪の伤    时间: 2011-8-12 17:26
寻找一个用 Ruby 模拟的 Tilemap 并且修改它。
(最近老有人问 Tilemap 的样子……
作者: ★_茄孓    时间: 2011-8-12 20:44
本帖最后由 ★_茄孓 于 2011-8-12 20:45 编辑

这个如果不是永久保存的话可以用
$game_map.data[x,y,z] = ID 修改
比如修改这个地图【0,0】坐标第1层的元件为385
$game_map.data[0,0,0] = 385 就可以了
自动元件 0~383
基本原件 >383
类似举例
$game_map.data[10,9,1] = 392
$game_map.data[1,5,2] = 402
Z取值0-2
x,y取值自己看地图坐标


★_茄孓于2011-8-12 20:46补充以下内容:
回4楼前辈,我已经找到国外的一个tilemap了,不错,不过还是有点漏洞··
作者: 忧雪の伤    时间: 2011-8-12 20:55
本帖最后由 忧雪の伤 于 2011-8-12 21:12 编辑
★_茄孓 发表于 2011-8-12 20:44
这个如果不是永久保存的话可以用
$game_map.data[x,y,z] = ID 修改
比如修改这个地图【0,0】坐标第1层的元 ...
  1. if $scene.is_a? Scene_Map
  2.   $scene.instance_eval do
  3.     @spriteset.instance_eval do
  4.       @tilemap = nil
  5.       GC.start
  6.       @tilemap = Tilemap.new @viewport1
  7.       @tilemap.tileset = RPG::Cache.tileset $game_map.tileset_name
  8.       6.times do |time|
  9.         autotile_name = $game_map.autotile_names[time]
  10.         @tilemap.autotiles[time] = RPG::Cache.autotile autotile_name
  11.       end
  12.       @tilemap.map_data = $game_map.data
  13.       @tilemap.priorities = $game_map.priorities
  14.     end
  15.   end
  16. end
复制代码

作者: fux2    时间: 2011-8-12 21:09
本帖最后由 fux2 于 2011-8-12 21:11 编辑
  1. $game_map.data[0,0,1] = 396
  2. $scene = Scene_Map.new
复制代码
当然,这种方法只适用于少量使用
作者: fux4    时间: 2011-8-12 21:21
忧雪の伤 发表于 2011-8-12 20:55

你的做法跟重建已经相差无几了,重新绘图,重新构造通行,那么,重建做了什么?
作者: denis466    时间: 2011-8-13 12:00
本帖最后由 denis466 于 2011-8-13 12:02 编辑
★_茄孓 发表于 2011-8-12 20:44
这个如果不是永久保存的话可以用
$game_map.data[x,y,z] = ID 修改
比如修改这个地图【0,0】坐标第1层的元 ...


我试了下这方法,可行的么,目前没发现什么弊端。游戏里要求场景转移后就变为原来的图。
作者: shevchenko    时间: 2011-8-13 12:07
我还是有些看不懂啊




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1