设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3122|回复: 10
打印 上一主题 下一主题

[已经解决] 小地图:判断个别地图ID,让其缩略图不同与全局缩放比例?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1556
在线时间
626 小时
注册时间
2010-8-5
帖子
451
跳转到指定楼层
1
发表于 2014-9-2 23:26:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
RUBY 代码复制
  1. def make_all_map
  2.      all_map = RPG::Cache.icon("地图" + $game_map.map_id.to_s)  
  3.     cw = $game_map.width * 32
  4.     ch = $game_map.height * 32
  5.     src_rect = Rect.new(0, 0, cw, ch)
  6.     self.contents.blt(0 , 0, all_map, src_rect)
  7.     w = ($game_map.width / PLAN_Map_Window::ZOOM) * 32
  8.     h = ($game_map.height / PLAN_Map_Window::ZOOM) * 32
  9.     ret_bitmap = Bitmap.new(w, h)
  10.     src_rect = Rect.new(0, 0, all_map.width, all_map.height)
  11.     dest_rect = Rect.new(0, 0, ret_bitmap.width, ret_bitmap.height)
  12.     ret_bitmap.stretch_blt(dest_rect, all_map, src_rect)
  13.     all_map.dispose
  14.     return ret_bitmap
  15.   end

判断个别地图ID,让其缩略图不同与全局缩放比例  全局缩放比例为ZOOM

例如:if map_id =1
    w= $game_map.width * 3.2
   h= $game_map.width * 3.2

。。。。。。。反正就是个别地图缩放比例不按照ZOOM算。。坐等解答{:2_256:}
         

Lv3.寻梦者

梦石
0
星屑
1556
在线时间
626 小时
注册时间
2010-8-5
帖子
451
2
 楼主| 发表于 2014-9-5 22:42:36 | 只看该作者
呼叫大哥@芯☆淡茹水

点评

你没有给完整。那个 PLAN_Map_Window 是怎么回事?  发表于 2014-9-6 08:25
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1556
在线时间
626 小时
注册时间
2010-8-5
帖子
451
3
 楼主| 发表于 2014-9-6 13:25:30 | 只看该作者
本帖最后由 jiahui5592986 于 2014-9-6 13:27 编辑
  1. module PLAN_Map_Window
  2.   WIN_X       = 20         # 窗口的初始 X 座標
  3.   WIN_Y       = 0         # 窗口的初始 Y 座標
  4.   WIN_WIDTH   = 640      # 地图的宽度
  5.   WIN_HEIGHT  = 480      # 地图的高度
  6.   ZOOM        = 10.0       # 地图的放缩比例
  7.   ZOOMP       = 1         # 小地图上角色的缩放(1为图片原来大小,往大调节时图片变小)
  8.   SHOWPLAYER  = false     # 是否显示角色,当为true时,小地图将显示角色为false时显示兰色的标记
  9.   PLAYCW      = 4         #当使用上面的显示角色时,这个用来设置,角色的横向帧数
  10.   PLAYCH      = 4         #当使用上面的显示角色时,这个用来设置,角色的综向帧数
  11.   WINDOWSKIN  = ""        # 自定义地图窗口素材,如果留空则是默认的

  12.   ON_OFF_KEY  = Input::A  # 打开地图的按钮,A就是键盘的Z键

  13.   SWITCH      = 100       # 禁用地图功能的开关,默认这个就是打开100号开关则禁止
  14.                           # 使用地图功能,关闭则可以使用地图功能

  15.   WINDOW_MOVE = false     # 是否可以自动改变窗口位置(true:可改变, false:固定)
  16.   
  17.   OVER_X      = 0   # 自动改变后窗口的位置x
  18.   OVER_Y      = 512 - WIN_HEIGHT       #自动改变后窗口的位置y

  19.   OPACITY     = 0       # 窗口的透明度
  20.   C_OPACITY   = 255       # 地图的透明度
  21.   VISIBLE     = true      # 最初是否可见
  22. end
  23. #==============================================================================
  24. # ■ Game_Temp
  25. #==============================================================================
  26. class Game_Temp
  27.   attr_accessor  :map_visible     # 地图的表示状態
  28.   alias plan_map_window_initialize initialize
  29.   def initialize
  30.     plan_map_window_initialize
  31.     @map_visible = true
  32.   end
  33. end
  34. #==============================================================================
  35. # ■ Scene_Map
  36. #==============================================================================
  37. class Scene_Map
  38.   #--------------------------------------------------------------------------
  39.   # ● 主处理
  40.   #--------------------------------------------------------------------------
  41.   alias plan_map_window_main main
  42.   def main
  43.     @map_window         = Window_Map.new
  44.     @map_window.visible = $game_temp.map_visible
  45.     plan_map_window_main
  46.     @map_window.dispose
  47.   end
  48.   #--------------------------------------------------------------------------
  49.   # ● 更新
  50.   #--------------------------------------------------------------------------
  51.   alias plan_map_window_update update
  52.   def update
  53.     $game_temp.map_visible = @map_window.visible
  54.     plan_map_window_update
  55.     unless $game_switches[PLAN_Map_Window::SWITCH]      
  56.       if Input.trigger?(PLAN_Map_Window::ON_OFF_KEY)
  57.         if @map_window.visible
  58.           @map_window.visible = false
  59.         else
  60.           @map_window.visible = true
  61.         end
  62.       end
  63.     else
  64.       if @map_window.visible
  65.         @map_window.visible = false
  66.       end
  67.     end
  68.     if @map_window.visible
  69.       @map_window.update
  70.     end
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   # ● 场所移动的变化
  74.   #--------------------------------------------------------------------------
  75.   alias plan_map_window_transfer_player transfer_player
  76.   def transfer_player
  77.     visible = @map_window.visible
  78.     @map_window.visible = false
  79.     plan_map_window_transfer_player
  80.     @map_window.dispose
  81.     @map_window = Window_Map.new
  82.     @map_window.visible = visible
  83.   end
  84. end
  85. #==============================================================================
  86. # ■ Window_Map
  87. #==============================================================================
  88. class Window_Map < Window_Base
  89.   #--------------------------------------------------------------------------
  90.   # ● 初始化
  91.   #--------------------------------------------------------------------------
  92.   def initialize
  93.     x = PLAN_Map_Window::WIN_X
  94.     y = PLAN_Map_Window::WIN_Y
  95.     w = PLAN_Map_Window::WIN_WIDTH
  96.     h = PLAN_Map_Window::WIN_HEIGHT
  97.     super(x, y, w, h)
  98.     unless PLAN_Map_Window::WINDOWSKIN.empty?
  99.       self.windowskin = RPG::Cache.windowskin(PLAN_Map_Window::WINDOWSKIN)
  100.     end
  101.     self.contents = Bitmap.new(width - 32, height - 32)
  102.     self.opacity = PLAN_Map_Window::OPACITY
  103.     self.contents_opacity = PLAN_Map_Window::C_OPACITY
  104.     @old_real_x = $game_player.real_x
  105.     @old_real_y = $game_player.real_y
  106.     @all_map = make_all_map
  107.     self.visible = PLAN_Map_Window::VISIBLE
  108.     refresh
  109.   end
  110.   #--------------------------------------------------------------------------
  111.   # ● 缩小图做成
  112.   #--------------------------------------------------------------------------
  113.   def make_all_map
  114.      all_map = RPG::Cache.icon("地图" + $game_map.map_id.to_s)  
  115.     cw = $game_map.width * 32
  116.     ch = $game_map.height * 32
  117.     src_rect = Rect.new(0, 0, cw, ch)
  118.     self.contents.blt(0 , 0, all_map, src_rect)
  119.     w = ($game_map.width / PLAN_Map_Window::ZOOM) * 32
  120.     h = ($game_map.height / PLAN_Map_Window::ZOOM) * 32
  121.     ret_bitmap = Bitmap.new(w, h)
  122.     src_rect = Rect.new(0, 0, all_map.width, all_map.height)
  123.     dest_rect = Rect.new(0, 0, ret_bitmap.width, ret_bitmap.height)
  124.     ret_bitmap.stretch_blt(dest_rect, all_map, src_rect)
  125.     all_map.dispose
  126.     return ret_bitmap
  127.   end
  128.   #--------------------------------------------------------------------------
  129.   # ● 刷新
  130.   #--------------------------------------------------------------------------
  131.   def refresh
  132.     self.contents.clear
  133.     one_tile_size = 32 / PLAN_Map_Window::ZOOM
  134.     x = $game_player.real_x - 128 * (self.contents.width / one_tile_size) / 2
  135.     y = $game_player.real_y - 128 * (self.contents.height / one_tile_size) / 2
  136.     x = x * one_tile_size / 128
  137.     y = y * one_tile_size / 128
  138.     half_width = self.contents.width * 128 / 2
  139.     rest_width = ($game_map.width * 128 - $game_player.real_x) * one_tile_size
  140.     rev_x = 0
  141.     if @all_map.width < self.contents.width
  142.       rev_x = (half_width - $game_player.real_x * one_tile_size) / 128
  143.       rev_x -= (self.contents.width - @all_map.width) / 2
  144.       x += rev_x
  145.     elsif half_width > $game_player.real_x * one_tile_size
  146.       rev_x = (half_width - $game_player.real_x * one_tile_size) / 128
  147.       x += rev_x
  148.     elsif half_width > rest_width
  149.       rev_x = -((half_width - rest_width) / 128)
  150.       x += rev_x
  151.     end
  152.     half_height = self.contents.height * 128 / 2
  153.     rest_height = ($game_map.height * 128 - $game_player.real_y) * one_tile_size
  154.     rev_y = 0
  155.     if @all_map.height < self.contents.height
  156.       rev_y = (half_height - $game_player.real_y * one_tile_size) / 128
  157.       rev_y -= (self.contents.height - @all_map.height) / 2
  158.       y += rev_y
  159.     elsif half_height > $game_player.real_y * one_tile_size
  160.       rev_y = (half_height - $game_player.real_y * one_tile_size) / 128
  161.       y += rev_y
  162.     elsif half_height > rest_height
  163.       rev_y = -((half_height - rest_height) / 128)
  164.       y += rev_y
  165.     end
  166.     src_rect = Rect.new(x, y, self.contents.width, self.contents.height)
  167.     self.contents.blt(0, 0, @all_map, src_rect)
  168.     if PLAN_Map_Window::WINDOW_MOVE == true
  169.       wr = PLAN_Map_Window::WIN_X + self.width
  170.       wl = PLAN_Map_Window::WIN_X
  171.       ht = PLAN_Map_Window::WIN_Y
  172.       he = PLAN_Map_Window::WIN_Y + self.height
  173.       if $game_player.screen_x >= wl and $game_player.screen_x <= wr
  174.         if $game_player.screen_y >= ht and $game_player.screen_y <= he
  175.           self.x = PLAN_Map_Window::OVER_X
  176.           self.y = PLAN_Map_Window::OVER_Y
  177.         else
  178.           self.x = PLAN_Map_Window::WIN_X
  179.           self.y = PLAN_Map_Window::WIN_Y
  180.         end
  181.       else
  182.         self.x = PLAN_Map_Window::WIN_X
  183.         self.y = PLAN_Map_Window::WIN_Y
  184.       end
  185.     end
  186.     if $game_party.actors.size > 0
  187.       actor = $game_party.actors[0]
  188.       if PLAN_Map_Window::SHOWPLAYER
  189.       bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
  190.       width = bitmap.width / PLAN_Map_Window::PLAYCW
  191.       height = bitmap.height / PLAN_Map_Window::PLAYCH
  192.       src_rect = Rect.new(0, 0, width, height)
  193.       w = width / PLAN_Map_Window::ZOOM
  194.       h = height / PLAN_Map_Window::ZOOM
  195.       else
  196.       bitmap = RPG::Cache.icon("标记" )
  197.       width = (bitmap.width / PLAN_Map_Window::ZOOMP)
  198.       height = (bitmap.height / PLAN_Map_Window::ZOOMP)
  199.       src_rect = Rect.new(0, 0, width, height)
  200.       w = width
  201.       h = height
  202.       end
  203.       x = self.contents.width / 2 - w / 2 + one_tile_size / 2 - rev_x
  204.       y = self.contents.height / 2 - h / 2 - rev_y
  205.       dest_rect = Rect.new(x, y, w, h)
  206.       self.contents.stretch_blt(dest_rect, bitmap, src_rect)
  207.     end
  208.   end
  209.   #--------------------------------------------------------------------------
  210.   # ● 更新
  211.   #--------------------------------------------------------------------------
  212.   def update
  213.     super
  214.     if @old_real_x != $game_player.real_x or @old_real_y != $game_player.real_y
  215.       @old_real_x = $game_player.real_x
  216.       @old_real_y = $game_player.real_y
  217.       refresh
  218.     end
  219.   end
  220.   #--------------------------------------------------------------------------
  221.   # ● 释放
  222.   #--------------------------------------------------------------------------
  223.   def dispose
  224.     super
  225.     @all_map.dispose
  226.   end
  227. end
复制代码
好吧,这是全脚本@芯☆淡茹水
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1556
在线时间
626 小时
注册时间
2010-8-5
帖子
451
4
 楼主| 发表于 2014-9-6 13:28:47 | 只看该作者
再次呼叫大哥@芯☆淡茹水
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33414
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

5
发表于 2014-9-6 21:03:55 | 只看该作者
没试过
  1. module PLAN_Map_Window
  2.   WIN_X       = 20         # 窗口的初始 X 座標
  3.   WIN_Y       = 0         # 窗口的初始 Y 座標
  4.   WIN_WIDTH   = 640      # 地图的宽度
  5.   WIN_HEIGHT  = 480      # 地图的高度
  6.   
  7.   #。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
  8.   # 新加:个别地图缩放比例设置,格式:地图ID => 缩放比例  。
  9.   #未添加的地图,用下面的 地图的放缩比例 。
  10.   R_ZOOM      = {1=>3.0, 2=>8.0}
  11.   #。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
  12.   
  13.   ZOOM        = 10.0       # 地图的放缩比例
  14.   ZOOMP       = 1         # 小地图上角色的缩放(1为图片原来大小,往大调节时图片变小)
  15.   SHOWPLAYER  = false     # 是否显示角色,当为true时,小地图将显示角色为false时显示兰色的标记
  16.   PLAYCW      = 4         #当使用上面的显示角色时,这个用来设置,角色的横向帧数
  17.   PLAYCH      = 4         #当使用上面的显示角色时,这个用来设置,角色的综向帧数
  18.   WINDOWSKIN  = ""        # 自定义地图窗口素材,如果留空则是默认的

  19.   ON_OFF_KEY  = Input::A  # 打开地图的按钮,A就是键盘的Z键

  20.   SWITCH      = 100       # 禁用地图功能的开关,默认这个就是打开100号开关则禁止
  21.                           # 使用地图功能,关闭则可以使用地图功能

  22.   WINDOW_MOVE = false     # 是否可以自动改变窗口位置(true:可改变, false:固定)
  23.   
  24.   OVER_X      = 0   # 自动改变后窗口的位置x
  25.   OVER_Y      = 512 - WIN_HEIGHT       #自动改变后窗口的位置y

  26.   OPACITY     = 0       # 窗口的透明度
  27.   C_OPACITY   = 255       # 地图的透明度
  28.   VISIBLE     = true      # 最初是否可见
  29. end
  30. #==============================================================================
  31. # ■ Game_Temp
  32. #==============================================================================
  33. class Game_Temp
  34.   attr_accessor  :map_visible     # 地图的表示状態
  35.   alias plan_map_window_initialize initialize
  36.   def initialize
  37.     plan_map_window_initialize
  38.     @map_visible = true
  39.   end
  40. end
  41. #==============================================================================
  42. # ■ Scene_Map
  43. #==============================================================================
  44. class Scene_Map
  45.   #--------------------------------------------------------------------------
  46.   # ● 主处理
  47.   #--------------------------------------------------------------------------
  48.   alias plan_map_window_main main
  49.   def main
  50.     @map_window         = Window_Map.new
  51.     @map_window.visible = $game_temp.map_visible
  52.     plan_map_window_main
  53.     @map_window.dispose
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 更新
  57.   #--------------------------------------------------------------------------
  58.   alias plan_map_window_update update
  59.   def update
  60.     $game_temp.map_visible = @map_window.visible
  61.     plan_map_window_update
  62.     unless $game_switches[PLAN_Map_Window::SWITCH]      
  63.       if Input.trigger?(PLAN_Map_Window::ON_OFF_KEY)
  64.         if @map_window.visible
  65.           @map_window.visible = false
  66.         else
  67.           @map_window.visible = true
  68.         end
  69.       end
  70.     else
  71.       if @map_window.visible
  72.         @map_window.visible = false
  73.       end
  74.     end
  75.     if @map_window.visible
  76.       @map_window.update
  77.     end
  78.   end
  79.   #--------------------------------------------------------------------------
  80.   # ● 场所移动的变化
  81.   #--------------------------------------------------------------------------
  82.   alias plan_map_window_transfer_player transfer_player
  83.   def transfer_player
  84.     visible = @map_window.visible
  85.     @map_window.visible = false
  86.     plan_map_window_transfer_player
  87.     @map_window.dispose
  88.     @map_window = Window_Map.new
  89.     @map_window.visible = visible
  90.   end
  91. end
  92. #==============================================================================
  93. # ■ Window_Map
  94. #==============================================================================
  95. class Window_Map < Window_Base
  96.   #--------------------------------------------------------------------------
  97.   # ● 初始化
  98.   #--------------------------------------------------------------------------
  99.   def initialize
  100.     x = PLAN_Map_Window::WIN_X
  101.     y = PLAN_Map_Window::WIN_Y
  102.     w = PLAN_Map_Window::WIN_WIDTH
  103.     h = PLAN_Map_Window::WIN_HEIGHT
  104.     super(x, y, w, h)
  105.     unless PLAN_Map_Window::WINDOWSKIN.empty?
  106.       self.windowskin = RPG::Cache.windowskin(PLAN_Map_Window::WINDOWSKIN)
  107.     end
  108.     self.contents = Bitmap.new(width - 32, height - 32)
  109.     self.opacity = PLAN_Map_Window::OPACITY
  110.     self.contents_opacity = PLAN_Map_Window::C_OPACITY
  111.     @old_real_x = $game_player.real_x
  112.     @old_real_y = $game_player.real_y
  113.     @all_map = make_all_map
  114.     self.visible = PLAN_Map_Window::VISIBLE
  115.     refresh
  116.   end
  117.   #--------------------------------------------------------------------------
  118.   # ● 缩小图做成
  119.   #--------------------------------------------------------------------------
  120.   def make_all_map
  121.     all_map = RPG::Cache.icon("地图" + $game_map.map_id.to_s)  
  122.     cw = $game_map.width * 32
  123.     ch = $game_map.height * 32
  124.     src_rect = Rect.new(0, 0, cw, ch)
  125.     self.contents.blt(0 , 0, all_map, src_rect)
  126.     #-------------------------------------------------------------
  127.     #..............................................................
  128.     if PLAN_Map_Window::R_ZOOM.keys.include?($game_map.map_id)
  129.       zoom = PLAN_Map_Window::R_ZOOM[$game_map.map_id]
  130.     else
  131.       zoom = PLAN_Map_Window::ZOOM
  132.     end
  133.     #..............................................................
  134.     #--------------------------------------------------------------
  135.     w = ($game_map.width / zoom) * 32
  136.     h = ($game_map.height / zoom) * 32
  137.     ret_bitmap = Bitmap.new(w, h)
  138.     src_rect = Rect.new(0, 0, all_map.width, all_map.height)
  139.     dest_rect = Rect.new(0, 0, ret_bitmap.width, ret_bitmap.height)
  140.     ret_bitmap.stretch_blt(dest_rect, all_map, src_rect)
  141.     all_map.dispose
  142.     return ret_bitmap
  143.   end
  144.   #--------------------------------------------------------------------------
  145.   # ● 刷新
  146.   #--------------------------------------------------------------------------
  147.   def refresh
  148.     self.contents.clear
  149.    
  150.     if PLAN_Map_Window::R_ZOOM.keys.include?($game_map.map_id)
  151.       zoom = PLAN_Map_Window::R_ZOOM[$game_map.map_id]
  152.     else
  153.       zoom = PLAN_Map_Window::ZOOM
  154.     end
  155.     one_tile_size = 32 / zoom
  156.    
  157.     x = $game_player.real_x - 128 * (self.contents.width / one_tile_size) / 2
  158.     y = $game_player.real_y - 128 * (self.contents.height / one_tile_size) / 2
  159.     x = x * one_tile_size / 128
  160.     y = y * one_tile_size / 128
  161.     half_width = self.contents.width * 128 / 2
  162.     rest_width = ($game_map.width * 128 - $game_player.real_x) * one_tile_size
  163.     rev_x = 0
  164.     if @all_map.width < self.contents.width
  165.       rev_x = (half_width - $game_player.real_x * one_tile_size) / 128
  166.       rev_x -= (self.contents.width - @all_map.width) / 2
  167.       x += rev_x
  168.     elsif half_width > $game_player.real_x * one_tile_size
  169.       rev_x = (half_width - $game_player.real_x * one_tile_size) / 128
  170.       x += rev_x
  171.     elsif half_width > rest_width
  172.       rev_x = -((half_width - rest_width) / 128)
  173.       x += rev_x
  174.     end
  175.     half_height = self.contents.height * 128 / 2
  176.     rest_height = ($game_map.height * 128 - $game_player.real_y) * one_tile_size
  177.     rev_y = 0
  178.     if @all_map.height < self.contents.height
  179.       rev_y = (half_height - $game_player.real_y * one_tile_size) / 128
  180.       rev_y -= (self.contents.height - @all_map.height) / 2
  181.       y += rev_y
  182.     elsif half_height > $game_player.real_y * one_tile_size
  183.       rev_y = (half_height - $game_player.real_y * one_tile_size) / 128
  184.       y += rev_y
  185.     elsif half_height > rest_height
  186.       rev_y = -((half_height - rest_height) / 128)
  187.       y += rev_y
  188.     end
  189.     src_rect = Rect.new(x, y, self.contents.width, self.contents.height)
  190.     self.contents.blt(0, 0, @all_map, src_rect)
  191.     if PLAN_Map_Window::WINDOW_MOVE == true
  192.       wr = PLAN_Map_Window::WIN_X + self.width
  193.       wl = PLAN_Map_Window::WIN_X
  194.       ht = PLAN_Map_Window::WIN_Y
  195.       he = PLAN_Map_Window::WIN_Y + self.height
  196.       if $game_player.screen_x >= wl and $game_player.screen_x <= wr
  197.         if $game_player.screen_y >= ht and $game_player.screen_y <= he
  198.           self.x = PLAN_Map_Window::OVER_X
  199.           self.y = PLAN_Map_Window::OVER_Y
  200.         else
  201.           self.x = PLAN_Map_Window::WIN_X
  202.           self.y = PLAN_Map_Window::WIN_Y
  203.         end
  204.       else
  205.         self.x = PLAN_Map_Window::WIN_X
  206.         self.y = PLAN_Map_Window::WIN_Y
  207.       end
  208.     end
  209.     if $game_party.actors.size > 0
  210.       actor = $game_party.actors[0]
  211.       if PLAN_Map_Window::SHOWPLAYER
  212.       bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
  213.       width = bitmap.width / PLAN_Map_Window::PLAYCW
  214.       height = bitmap.height / PLAN_Map_Window::PLAYCH
  215.       src_rect = Rect.new(0, 0, width, height)
  216.       if PLAN_Map_Window::R_ZOOM.keys.include?($game_map.map_id)
  217.         zoom = PLAN_Map_Window::R_ZOOM[$game_map.map_id]
  218.       else
  219.         zoom = PLAN_Map_Window::ZOOM
  220.       end
  221.       w = width / zoom
  222.       h = height / zoom
  223.       else
  224.       bitmap = RPG::Cache.icon("标记" )
  225.       width = (bitmap.width / PLAN_Map_Window::ZOOMP)
  226.       height = (bitmap.height / PLAN_Map_Window::ZOOMP)
  227.       src_rect = Rect.new(0, 0, width, height)
  228.       w = width
  229.       h = height
  230.       end
  231.       x = self.contents.width / 2 - w / 2 + one_tile_size / 2 - rev_x
  232.       y = self.contents.height / 2 - h / 2 - rev_y
  233.       dest_rect = Rect.new(x, y, w, h)
  234.       self.contents.stretch_blt(dest_rect, bitmap, src_rect)
  235.     end
  236.   end
  237.   #--------------------------------------------------------------------------
  238.   # ● 更新
  239.   #--------------------------------------------------------------------------
  240.   def update
  241.     super
  242.     if @old_real_x != $game_player.real_x or @old_real_y != $game_player.real_y
  243.       @old_real_x = $game_player.real_x
  244.       @old_real_y = $game_player.real_y
  245.       refresh
  246.     end
  247.   end
  248.   #--------------------------------------------------------------------------
  249.   # ● 释放
  250.   #--------------------------------------------------------------------------
  251.   def dispose
  252.     super
  253.     @all_map.dispose
  254.   end
  255. end
复制代码

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1556
在线时间
626 小时
注册时间
2010-8-5
帖子
451
6
 楼主| 发表于 2014-9-6 22:26:12 | 只看该作者
芯☆淡茹水 发表于 2014-9-6 21:03
没试过

大哥还是那么屌。。。。还有两个问题,1.如果有些地图不需要小地图显示呢[例如较小的屋子里面]
2.游戏中按Z键呼出小地图,能不能换成键盘上的Tab按键

补充:
不需要显示小地图的地图,按下Tab按键时会出现文字[例如当前地图没有小地图。。]
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1556
在线时间
626 小时
注册时间
2010-8-5
帖子
451
7
 楼主| 发表于 2014-9-9 13:17:45 | 只看该作者
@芯☆淡茹水 大哥请看楼上。。。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1556
在线时间
626 小时
注册时间
2010-8-5
帖子
451
8
 楼主| 发表于 2014-9-11 12:06:21 | 只看该作者
如果有些地图不需要小地图显示呢[例如较小的屋子里面] 怎么再写@芯☆淡茹水
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1556
在线时间
626 小时
注册时间
2010-8-5
帖子
451
9
 楼主| 发表于 2014-9-17 21:28:07 | 只看该作者
如果有些地图不需要小地图显示呢[例如较小的屋子里面] 怎么再写@芯☆淡茹水
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2749
在线时间
2630 小时
注册时间
2013-1-16
帖子
5657

贵宾

10
发表于 2014-9-17 22:39:46 | 只看该作者
$game_map.width  $game_height 地图的宽和高……
用这个判断大小
(Created by @喵kano)


施工现场:hotege.github.io
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-11 09:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表