Project1

标题: 菜单追加 & 地图显示 - 地图位置及玩家位置 -更新啦~~ [打印本页]

作者: zhangchi5    时间: 2012-3-25 17:22
标题: 菜单追加 & 地图显示 - 地图位置及玩家位置 -更新啦~~
本帖最后由 zhangchi5 于 2012-3-27 15:53 编辑

更新:可以指定是否可以显示窗口!

仍然不用解释。。。
40号开关用于控制是否显示此窗口。



地图上不显示的版本:
http://rpg.blue/forum.php?mod=vi ... d=226029&page=1
  1. #==============================================================================
  2. # ■ Game_Player
  3. #------------------------------------------------------------------------------
  4. #  处理玩家人物的类。拥有事件启动的判定、地图的卷动等功能。
  5. #   本类的实例请参考 $game_player 。
  6. #==============================================================================

  7. class Game_Player < Game_Character
  8.   
  9.   def getX
  10.     @x
  11.   end
  12.   
  13.   def getY
  14.     @y
  15.   end
  16.   
  17. end

  18. #==============================================================================
  19. # ■ Scene_Menu
  20. #------------------------------------------------------------------------------
  21. #  菜单画面
  22. #==============================================================================

  23. class Scene_Menu < Scene_MenuBase

  24.   #--------------------------------------------------------------------------
  25.   # ● 生成窗口
  26.   #--------------------------------------------------------------------------
  27.   def create_gold_window
  28.     @gold_window = Window_Gold.new
  29.     @gold_window.x = 0
  30.     @gold_window.y = Graphics.height - @gold_window.height
  31.     # 生成地图信息窗口
  32.     @mapinfos_window = Window_MapInfo.new
  33.     @mapinfos_window.x = 0
  34.     @mapinfos_window.y = Graphics.height - @mapinfos_window.height - @gold_window.height
  35.    
  36.   end
  37.   
  38. end

  39. #==============================================================================
  40. # ■ Window_MapInfo
  41. #------------------------------------------------------------------------------
  42. #  显示当前信息的窗口。 By SkyZH
  43. #==============================================================================

  44. class Window_MapInfo < Window_Base
  45.   #--------------------------------------------------------------------------
  46.   # ● 初始化对像
  47.   #--------------------------------------------------------------------------
  48.   def initialize
  49.     super(0, 0, window_width, fitting_height(3))
  50.     refresh
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● 获取窗口的宽度
  54.   #--------------------------------------------------------------------------
  55.   def window_width
  56.     return 160
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ● 刷新
  60.   #--------------------------------------------------------------------------
  61.   def refresh
  62.     self.contents.clear
  63.     self.contents.font.color = normal_color
  64.    
  65.     @a=$game_map.width
  66.     @b=$game_map.height
  67.     @BGMNAME=RPG::BGM.last.name
  68.    
  69.    
  70.     draw_text(0, 0, window_width-24, line_height,$game_map.display_name,2)
  71.     draw_text(0, line_height, window_width-24, line_height,"音乐 " + @BGMNAME.to_s,2)   
  72.     draw_text(0, line_height*2, window_width-24, line_height,"位置 " + $game_player.getX.to_s + "," + $game_player.getY.to_s,2)
  73.   end
  74. end

  75. class Spriteset_Map
  76.   #--------------------------------------------------------------------------
  77.   # ● 初始化对象
  78.   #--------------------------------------------------------------------------
  79.   def initialize
  80.     create_viewports
  81.     create_tilemap
  82.     create_parallax
  83.     create_characters
  84.     create_shadow
  85.     create_weather
  86.     create_pictures
  87.     create_timer
  88.     @MapInfoWin=Window_MapInfo.new
  89.     update
  90.   end
  91.   
  92.   def dispose
  93.     dispose_tilemap
  94.     dispose_parallax
  95.     dispose_characters
  96.     dispose_shadow
  97.     dispose_weather
  98.     dispose_pictures
  99.     dispose_timer
  100.     dispose_viewports
  101.     @MapInfoWin.dispose
  102.   end
  103.   
  104.   def update
  105.     update_tileset
  106.     update_tilemap
  107.     update_parallax
  108.     update_characters
  109.     update_shadow
  110.     update_weather
  111.     update_pictures
  112.     update_timer
  113.     update_viewports
  114.     if $game_switches[40]==false then
  115.       @MapInfoWin.visible=false
  116.     else
  117.       @MapInfoWin.visible=true
  118.     end
  119.     @MapInfoWin.refresh
  120.   end

  121. end

复制代码

作者: 洛迪基尔    时间: 2012-3-25 22:08
我是只不太懂脚本菜鸟,只能说楼主太强悍了!
弱弱地问下,能做到随时开关地图上的显示么!
因为平常用蛮好,但做剧情时,总不能显示着那个玩意吧!
虚心求楼主指点。。。。


‘‘──洛迪基尔于2012-3-27 19:49补充以下内容

[color=DarkOrange][/color]楼主太给力了。
因为之前用的是跳过默认开始画面的(见附图)
所以一开始就有个框,挺不爽的,而剧情画面同样也因此失色不少。
[color=Blue]不过现在问题都解决了!
[color=Purple][/color](ps:楼主要多注意身体健康哦。。)
’’
作者: wangssthao    时间: 2012-4-11 23:57
试了 还蛮不错的




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