赞 | 0 |
VIP | 155 |
好人卡 | 9 |
积分 | 3 |
经验 | 15635 |
最后登录 | 2024-10-29 |
在线时间 | 412 小时 |
Lv2.观梦者 永遠神剣
- 梦石
- 0
- 星屑
- 339
- 在线时间
- 412 小时
- 注册时间
- 2009-8-16
- 帖子
- 1797
|
判断是什么图块应该没有这个方法。但是有判断角色当前所站位置的地图图块的ID的办法。
这个貌似是雪流星写的脚本 你进游戏的时候 站在地图上任意图块按键盘的D键(VX默认按键)就能获取第一层和第二层的地图图块ID了。 你看对你有没有帮助- class Game_Map
- def get_tile_id(x, y)
- a = data[x, y, 0]
- return 0 unless a
- a-=2000
- map_tile_id_0 = (a >= 0) ? a/48 : (a+593)
- map_tile_id_1 = (data[x, y, 1]-2000) / 48
- map_tile_id_2 = (data[x, y, 2])
-
- map_tile_id_0 = 0 if map_tile_id_0 == -42 # A
- map_tile_id_1 = 0 if map_tile_id_1 == -42 # I
- map_tile_id_2 = 0 if map_tile_id_2 == -42 # B~E
-
- # 图块 ID 矫正
- map_tile_id_0 = map_tile_id_1 if map_tile_id_1 > 0
- unless @events.nil?
- for event in @events.values
- if event.pos?(x, y) and event.tile_id > 0
- # 若是事件使用地图元件,使用该地图元件的ID
- map_tile_id_2 = event.tile_id
- end
- end
- end
- # 返回 [底层ID, 上层ID]
- return [map_tile_id_0, map_tile_id_2]
- end
- end
- class Scene_Map < Scene_Base
- alias get_map_id_update update
- def update
- get_map_id_update
- if Input.trigger?(Input::Z)
- p $game_map.get_tile_id($game_player.x, $game_player.y)
- end
- end
- end
复制代码 |
|