Project1

标题: vx怎样才能做到只显示部分地图名称 [打印本页]

作者: SavokiWan    时间: 2013-10-7 22:28
标题: vx怎样才能做到只显示部分地图名称
RT,我现在的代码如下(部分的)
  1. class Scene_Map < Scene_Base
  2.   alias _start start
  3.   #--------------------------------------------------------------------------
  4.   # ● 开始处理
  5.   #--------------------------------------------------------------------------
  6.   def start
  7.     @map_window = Window_Map.new
  8.     _start
  9.   end
  10.   
  11.   alias _terminate terminate
  12.   def terminate
  13.     @map_window.dispose
  14.     _terminate
  15.   end
  16.   
  17.   alias _update update
  18.   def update
  19.     @map_window.refresh
  20.     _update
  21.   end
  22. end

  23. module RPG
  24.   class Area
  25.     def name_p1
  26.       name = @name.split(/#/)[0]
  27.       return name != nil ? name : ""
  28.     end
  29.     def name_p2
  30.       name = @name.split(/#/)[1]
  31.       return name != nil ? name : ""
  32.     end
  33.     def color_1
  34.       color = @name.split(/#/)[2]
  35.       return color != nil ? color.to_i : TEXT2_COLOR
  36.     end
  37.     def color_2
  38.       color = @name.split(/#/)[3]
  39.       return color != nil ? color.to_i : TEXT3_COLOR
  40.     end
  41.   end
  42. end

  43. class Game_Character
  44.   def area_id
  45.     for area in $data_areas.values
  46.      if in_area?(area)
  47.      return area.id
  48.      end
  49.     end
  50.   end
  51. end
复制代码

作者: 八云紫    时间: 2013-10-7 23:57
RUBY 代码复制
  1. module NoShow
  2.                                     { 地图ID => [ 不显示区域ID ] }
  3.      NO_SHOW_MAP = { 1          => [ 1                    ] }
  4.  
  5. end
  6.  
  7. class Scene_Map < Scene_Base
  8.  
  9.   alias _start start
  10.   def start
  11.     @map_window = Window_Map.new unless NoShow::NO_SHOW_MAP [$game_map.map_id].inlcude?($game_player.area_id)
  12.     _start
  13.   end
  14.  
  15.   alias _terminate terminate
  16.   def terminate
  17.     @map_window.dispose if @map_window
  18.     _terminate
  19.   end
  20.  
  21.   alias _update update
  22.   def update
  23.     @map_window.refresh if @map_window
  24.     _update
  25.   end
  26. end


无法测试, 出错的话, 自行修改即可.
作者: 上贺茂润    时间: 2013-10-11 15:22
本帖最后由 上贺茂润 于 2013-10-11 15:28 编辑

我勒个去,楼上诈尸,尸体压在我屋顶上黏糊糊的东西都滴到地板上了,吓死………………………………………………………………在调用面前加个show id貌似可以




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