Project1

标题: [RM脚本] 地名显示 [打印本页]

作者: kksq    时间: 2006-10-1 12:00
标题: [RM脚本] 地名显示
字显示的比较难看,自己调吧!!{/cy}

  1. class Floating_Location < Window_Base

  2.    def initialize
  3.       @map_name = get_name
  4.       @size = Win_Size.new(@map_name)
  5.       width = @size[0]
  6.       height = @size[1]
  7.       super(0, 0, width+32, height+32)
  8.       self.contents = Bitmap.new(width, height)
  9.       self.opacity = 240
  10.       self.back_opacity = 240
  11.       self.contents_opacity = 240
  12.       @frame_wait = Graphics.frame_count + 60
  13.       refresh
  14.    end

  15.    def refresh
  16.       self.contents.font.color = Color.new(217,87,0,255)
  17.       self.contents.draw_text(0, 0, @size[0]+32, @size[1], @map_name)
  18.    end

  19.    def update
  20.       if get_name != @map_name
  21.          self.dispose
  22.          return
  23.       end
  24.       if @frame_wait <= Graphics.frame_count
  25.          if self.opacity > 0
  26.             self.opacity -= 20
  27.             self.back_opacity -= 20
  28.             self.contents_opacity -= 20
  29.          else
  30.             self.dispose
  31.             return
  32.          end
  33.       end
  34.    end

  35.    def get_name
  36.       data = load_data("Data/MapInfos.rxdata")
  37.       data[$game_map.map_id].name
  38.    end

  39. end

  40. class Win_Size < Window_Base
  41.    
  42.    def initialize(text)
  43.       super(0, 0, 640, 480)
  44.       self.contents = Bitmap.new(640 - 32, 480 - 32)
  45.       @w = contents.text_size(text).width
  46.       @h = contents.text_size(text).height
  47.       self.dispose
  48.     end
  49.    
  50.    def [](value)
  51.      if value == 0
  52.        return @w
  53.      else
  54.        return @h
  55.      end
  56.    end

  57. end

  58. class Scene_Map

  59.    alias   :main_orig   :main
  60.    alias   :update_orig   :update
  61.    alias   :transfer_player_orig  :transfer_player

  62.    def main
  63.       @floating_location.dispose unless @floating_location.nil?
  64.       @floating_location = Floating_Location.new
  65.       main_orig
  66.       @floating_location.dispose unless (@floating_location.disposed? or
  67.                                          @floating_location.nil?)
  68.    end

  69.    def update
  70.       @floating_location.update unless (@floating_location.disposed? or
  71.                                         @floating_location.nil?)
  72.       update_orig
  73.    end
  74.    
  75.    def transfer_player
  76.       transfer_player_orig
  77.       @floating_location.dispose unless (@floating_location.disposed? or
  78.                                         @floating_location.nil?)
  79.       @floating_location = Floating_Location.new
  80.    end
  81. end
复制代码

作者: kksq    时间: 2006-10-1 12:00
标题: [RM脚本] 地名显示
字显示的比较难看,自己调吧!!{/cy}

  1. class Floating_Location < Window_Base

  2.    def initialize
  3.       @map_name = get_name
  4.       @size = Win_Size.new(@map_name)
  5.       width = @size[0]
  6.       height = @size[1]
  7.       super(0, 0, width+32, height+32)
  8.       self.contents = Bitmap.new(width, height)
  9.       self.opacity = 240
  10.       self.back_opacity = 240
  11.       self.contents_opacity = 240
  12.       @frame_wait = Graphics.frame_count + 60
  13.       refresh
  14.    end

  15.    def refresh
  16.       self.contents.font.color = Color.new(217,87,0,255)
  17.       self.contents.draw_text(0, 0, @size[0]+32, @size[1], @map_name)
  18.    end

  19.    def update
  20.       if get_name != @map_name
  21.          self.dispose
  22.          return
  23.       end
  24.       if @frame_wait <= Graphics.frame_count
  25.          if self.opacity > 0
  26.             self.opacity -= 20
  27.             self.back_opacity -= 20
  28.             self.contents_opacity -= 20
  29.          else
  30.             self.dispose
  31.             return
  32.          end
  33.       end
  34.    end

  35.    def get_name
  36.       data = load_data("Data/MapInfos.rxdata")
  37.       data[$game_map.map_id].name
  38.    end

  39. end

  40. class Win_Size < Window_Base
  41.    
  42.    def initialize(text)
  43.       super(0, 0, 640, 480)
  44.       self.contents = Bitmap.new(640 - 32, 480 - 32)
  45.       @w = contents.text_size(text).width
  46.       @h = contents.text_size(text).height
  47.       self.dispose
  48.     end
  49.    
  50.    def [](value)
  51.      if value == 0
  52.        return @w
  53.      else
  54.        return @h
  55.      end
  56.    end

  57. end

  58. class Scene_Map

  59.    alias   :main_orig   :main
  60.    alias   :update_orig   :update
  61.    alias   :transfer_player_orig  :transfer_player

  62.    def main
  63.       @floating_location.dispose unless @floating_location.nil?
  64.       @floating_location = Floating_Location.new
  65.       main_orig
  66.       @floating_location.dispose unless (@floating_location.disposed? or
  67.                                          @floating_location.nil?)
  68.    end

  69.    def update
  70.       @floating_location.update unless (@floating_location.disposed? or
  71.                                         @floating_location.nil?)
  72.       update_orig
  73.    end
  74.    
  75.    def transfer_player
  76.       transfer_player_orig
  77.       @floating_location.dispose unless (@floating_location.disposed? or
  78.                                         @floating_location.nil?)
  79.       @floating_location = Floating_Location.new
  80.    end
  81. end
复制代码

作者: 令狐葱    时间: 2006-10-10 20:27
{/dy}不错
作者: 雪流星    时间: 2007-2-14 17:58
怎麽让地名在不想出现的时候消失?

作者: 魔剑美神    时间: 2007-2-15 01:25
恩,不错~只是,怎么去掉名字的背景啊?
作者: 火之圣者    时间: 2008-7-22 02:29
提示: 作者被禁止或删除 内容自动屏蔽




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