Project1
标题:
如何判断角色脚下的图块?
[打印本页]
作者:
945127391
时间:
2011-10-31 18:58
标题:
如何判断角色脚下的图块?
就是要获取当前角色脚下的是什么图块,有什么办法?感激不尽啊!!! dsu_plus_rewardpost_czw
作者:
怪蜀黍
时间:
2011-10-31 20:39
我曾经发过一篇教程,可能可以解决您的问题:
http://rpg.blue/thread-198176-1-1.html
如果您没看懂或者觉得复杂,我就说一下关键的一句脚本:
if $game_map.data[x, y, 0] == 1631
……
end
至于1631的意义,我在教程里已经说了,请您去看一看吧。
教程末尾的的粉红色的“附加注释”可以举一反三,可以解决您提出的问题,把1631改成您所需要的图块代号即可。
作者:
Eienshinken
时间:
2011-11-2 04:08
判断是什么图块应该没有这个方法。但是有判断角色当前所站位置的地图图块的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
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1