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

Project1

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

[已经解决] 显示地图名

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-11-28
帖子
32
跳转到指定楼层
1
发表于 2010-7-24 16:52:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本人想求一脚本:
在地图右下角显示一行小字,字的内容是地图名,最好附有坐标(没有也无所谓)。字符要一直显示,但是地图间转换黑屏要消失。

Lv1.梦旅人

旅之愚者

梦石
0
星屑
240
在线时间
812 小时
注册时间
2007-7-28
帖子
2148

贵宾

2
发表于 2010-7-24 16:56:55 | 只看该作者
回复 黄教主 的帖子

回复 黄教主 的帖子
点右上角搜索

输入 地图名



yes~有好多   
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
85
在线时间
424 小时
注册时间
2009-8-3
帖子
984
3
发表于 2010-7-24 16:59:48 | 只看该作者
搜索 置顶
没合适的悬赏。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
416 小时
注册时间
2006-10-21
帖子
1245
4
发表于 2010-7-24 17:19:52 | 只看该作者
  1. ==============================================================================
  2. # ■ Window_Pos
  3. #==============================================================================

  4. class Window_Pos < Window_Base
  5. #--------------------------------------------------------------------------
  6. # ● 初始化
  7. #--------------------------------------------------------------------------
  8. def initialize
  9.    super(0, 0, 122, 52)
  10.    self.z = 151
  11.    self.contents.font.size = 20
  12.    refresh
  13. end
  14. #--------------------------------------------------------------------------
  15. # ● 刷新
  16. #--------------------------------------------------------------------------
  17. def refresh
  18.    self.contents.clear
  19.    self.contents.font.color = text_color(14)#system_color
  20.    @x,@y = $game_player.x,$game_player.y
  21.    self.contents.draw_text(0, 0, 90, 20, "(#{@x},#{@y})", 1)
  22. end
  23. #--------------------------------------------------------------------------
  24. # ● 更新
  25. #--------------------------------------------------------------------------
  26. def update
  27.    return if $game_player.x == @x and $game_player.y == @y
  28.    refresh
  29. end
  30. end

  31. #==============================================================================
  32. # ■ Window_MapName
  33. #==============================================================================

  34. class Window_MapName < Window_Base
  35. #--------------------------------------------------------------------------
  36. # ● 初始化
  37. #--------------------------------------------------------------------------
  38. def initialize
  39.    @map_id = $game_map.map_id
  40.    super(0, 0, 182, 52)
  41.    self.contents.font.size = 20
  42.    self.z = 151
  43.    refresh
  44. end
  45. #--------------------------------------------------------------------------
  46. # ● 刷新
  47. #--------------------------------------------------------------------------
  48. def refresh
  49.    self.opacity = 255
  50.    self.contents_opacity = 255
  51.    name = $data_mapinfos[@map_id].name
  52.    width = self.contents.text_size(name).width
  53.    height = self.contents.text_size(name).height
  54.    self.width = width + 32
  55.    self.height = height + 32
  56.    self.contents = Bitmap.new(width, height)
  57.    self.contents.font.size = 20
  58.    self.x = (Graphics.width - self.width) / 2
  59.    self.y = (Graphics.height - self.height) / 2
  60.    self.contents.font.color = text_color(14)#system_color
  61.    self.contents.draw_text(0, 0, width, 20, name, 1)
  62. end
  63. #--------------------------------------------------------------------------
  64. # ● 更新
  65. #--------------------------------------------------------------------------
  66. def update
  67.    if $game_map.map_id != @map_id
  68.      @map_id = $game_map.map_id
  69.      refresh
  70.      self.opacity = 255
  71.      self.contents_opacity = 255
  72.    end
  73.    return if self.opacity == 0
  74.    self.opacity -= 1
  75.    self.contents_opacity -= 1
  76. end

  77. end

  78. class Scene_Title < Scene_Base
  79. #--------------------------------------------------------------------------
  80. # ● 数据库载入
  81. #--------------------------------------------------------------------------
  82. alias old_ld load_database
  83. def load_database
  84.    old_ld
  85.    $data_mapinfos       = load_data("Data/MapInfos.rvdata")
  86. end
  87. end

  88. class Scene_Map < Scene_Base
  89. #--------------------------------------------------------------------------
  90. # ● 开始
  91. #--------------------------------------------------------------------------
  92. alias old_start start
  93. def start
  94.    old_start
  95.    @pos_window = Window_Pos.new
  96.    @mapname_window = Window_MapName.new
  97.     # 指令窗口 边框 透明

  98. #~     @mapname_window.opacity = 0

  99.     # 指令窗口 背景 透明

  100. #~     @mapname_window.back_opacity = 0

  101.     # 指令窗口 内容 透明

  102. #~     @command_window.contents_opacity = 0
  103. end
  104. #--------------------------------------------------------------------------
  105. # ● 结束
  106. #--------------------------------------------------------------------------
  107. alias old_ter terminate
  108. def terminate
  109.    old_ter
  110.    @pos_window.dispose
  111.    @mapname_window.dispose
  112. end
  113. #--------------------------------------------------------------------------
  114. # ● 更新
  115. #--------------------------------------------------------------------------
  116. alias old_update update
  117. def update
  118.    old_update
  119.    @pos_window.update
  120.    @mapname_window.update
  121. end
  122. end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

仙剑奇侠

梦石
0
星屑
50
在线时间
33 小时
注册时间
2008-4-2
帖子
622
5
发表于 2010-7-25 01:55:12 | 只看该作者
这...脚本是完全可以自己在6R里找到,因为我之前也是自己翻出这脚本,没必要做伸手党...

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
51
在线时间
1 小时
注册时间
2010-7-21
帖子
180
6
发表于 2010-7-25 10:35:23 | 只看该作者
某楼的不能控制是否显示
脚本1
#▼▼▼通用变量、方法、模块、类▼▼▼
#==============================================================================
# ■ (模块)T_m
#------------------------------------------------------------------------------
#  用来存储常用常量
#=============================================================================
module T_m
  #-----------------------------------------------------------------------------
  # ● 地名窗口常量
  #-----------------------------------------------------------------------------
  #▼地名窗口
  WIDTH = 150                                   # 窗口宽度最小值      
  IN_TIME = 35                                  # 窗口出现时间
  SHOW_TIME = 120                                # 窗口显示时间
  FADE_TIME = 30                                # 窗口淡去时间
  TEXT1_SIZE = 19                               # 地图名,区域名的字体大小
  TEXT2_SIZE = 13                               # 地区名的字体大小
  TEXT1_COLOR = Color.new(255,255,255)          # 地图名,区域名的默认颜色
  TEXT2_COLOR = Color.new(255,60,60)            # 地区名的默认颜色
  SKIN = "red-grey"                             # 窗口皮肤的文件名
  VX_H = 416                                    # VX窗口高度
  VX_W = 544                                    # VX窗口宽度
  ZONE_NUM =8                                   # 地区名占用角色名的编号
  Map_W_S=1                                     # 控制是否显示的开关
  #▼地区名窗口
  Z_IN_TIME = 30                                 # 窗口出现时间
  Z_SHOW_TIME = 70                               # 窗口显示时间
  Z_FADE_TIME = 30                               # 窗口淡去时间
  ZONE_W_S=2                                     # 控制是否显示开关


  #▼计算
  HEIGHT = TEXT1_SIZE + TEXT2_SIZE + 34         # 窗口高度
  MWINDOW_Y = VX_H - HEIGHT - 16                # 窗口Y坐标
  #----------------------------------------------------------------------------
  # ● 路牌门牌NPC常量
  #----------------------------------------------------------------------------
  #▼路口窗口
  RT_WIDTH=240                                    #窗口宽度的最小值
  RT_Y=30                                            #窗口Y值
  RT_INTIME=20                                    #窗口出现时间
  RT_ONTIME=60                                    #窗口持续时间
  RT_FADETIME=20                                  #窗口消失时间

  RT_S=3                                          #控制开关
  RT_TEXTSIZE=20                                   #字体大小
  RT_TEXTCOLOR=Color.new(255,255,255)               #字体颜色
  #▼NPC窗口
  NPC_ICON_TALK="talk"                       #「谈话」图标名
  NPC_ICON_TRADE="trade"                     #「交易」图标名
  NPC_ICON_CHECK="check"                     #「调查」图标名
  NPC_NAME_SIZE=16                           #「NPC」人名字号
  NPC_S=4                                    #「NPC控制开关」编号
  #▼门牌窗口
  DOOR_NAME_SIZE=22                              #门牌「名称」字号
  DOOR_TYPE_SIZE =16                             #门牌「类型」字号
  DOOR_S=5                                    #「门牌」控制开关编号
  #----------------------------------------------------------------------------
  # ●其他
  #----------------------------------------------------------------------------
  def self.preview_dis
    return @preview_dis
  end
  def self.preview_dis=(a)
    return @preview_dis=a
  end
  @preview_dis=false
end

  #----------------------------------------------------------------------------
  # ● 方法:读取属性
  #----------------------------------------------------------------------------
  def readattr(str,section,ignore_caps = false)
    str="" if str.class!=String
    result=''
    section.upcase! if ignore_caps
    s = section.to_sym
    temp = str.split(/=/)
    temp.each{|i|i.strip!}
    temp[0].upcase! if ignore_caps
    temp[0]=" " if temp[0]==nil
    if temp[0].to_sym==s
      unless temp[1]==nil
        result=temp[1]
      end
    end
    return result
  end

#==============================================================================
# ■ Game_Map
#------------------------------------------------------------------------------
#  对Game_Map类的追加定义。
#=============================================================================
class Game_Map
  #--------------------------------------------------------------------------
  # ● 获取所在场景名称
  #--------------------------------------------------------------------------
  def name
      load_data("Data/MapInfos.rvdata")
  end
end


#==============================================================================
# ■ Game_Character
#------------------------------------------------------------------------------
#  判断当前人物所在区域id(by beside)。
#=============================================================================
class Game_Character
  def area_id
    for area in $data_areas.values
     if in_area?(area)
       return area.id
     end
   end
end
end
   
#==============================================================================
# ◎ GPRA_Bitmap
#------------------------------------------------------------------------------
# ◎ Bitmap功能加强
#------------------------------------------------------------------------------
# 制作者:绿梨子红苹果
# 个人主页:vbgm.9126.com
# E-Mail:[email protected]
# QQ:42378361
#==============================================================================

class Bitmap
  # 影子字
  def draw_text_s(x, y, width, height, str, align=0)
    # 保存当前颜色
    r=self.font.color.red
    g=self.font.color.green
    b=self.font.color.blue
    # 颜色更改成黑色
    self.font.color.set(0, 0, 0)
    # 绘制影子
    self.draw_text(x+2, y+2, width, height, str, align)
    # 恢复原始字色
    self.font.color.set(r,g,b)
    # 绘制原来的字
    self.draw_text(x, y, width, height, str, align)
  end
  # 描边字
  def draw_text_f(x, y, width, height, str, align=0)
    # 保存当前颜色
    r=self.font.color.red
    g=self.font.color.green
    b=self.font.color.blue
    # 颜色更改成黑色
    self.font.color.set(0, 0, 0)
    # 绘制边框
    self.draw_text(x-1, y-1, width, height, str, align)
    self.draw_text(x-1, y+1, width, height, str, align)
    self.draw_text(x+1, y-1, width, height, str, align)
    self.draw_text(x+1, y+1, width, height, str, align)
    self.draw_text(x, y-1, width, height, str, align)
    self.draw_text(x, y+1, width, height, str, align)
    self.draw_text(x-1, y, width, height, str, align)
    self.draw_text(x+1, y, width, height, str, align)
    # 恢复原始字色
    self.font.color.set(r,g,b)
    # 绘制原来的字
    self.draw_text(x, y, width, height, str, align)
    end
  end

脚本2
#▼▼▼区域,地图,地区名显示▼▼▼ by trentswd
#==============================================================================
# ■ Map_Window
#------------------------------------------------------------------------------
#  游戏中显示地名的窗口。
#=============================================================================
class Map_Window<Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  def initialize
    super(-(5+T_m::WIDTH),T_m::MWINDOW_Y,T_m::WIDTH,T_m::HEIGHT)
    self.windowskin = Cache.system(T_m::SKIN)
    create_contents
    self.opacity = 255
    self.contents_opacity = 255
    self.contents.font.name=["华文细黑","STXihei","微软雅黑"]
    @id=$game_map.map_id
    @time=0
    @a_id=$game_player.area_id
    @zone_change=false
    @a_name=""
    @a_name=area_name if @a_id.is_a?(Numeric)
    @preview_not_dis=true
  end
  #--------------------------------------------------------------------------
  # ● 地区标记为改变
  #--------------------------------------------------------------------------
  def zone_change
    @zone_change=true
  end
  #--------------------------------------------------------------------------
  # ● 得到地名
  #--------------------------------------------------------------------------  
  def name(id=$game_map.map_id)
    name=$game_map.name[id].name.split(/@/)[0]
    return name
  end
  #--------------------------------------------------------------------------
  # ● 得到区域名
  #--------------------------------------------------------------------------
  def area_name(id=$game_player.area_id)
    name=$data_areas[id].name.split(/@/)[0]
    return name
  end
  #--------------------------------------------------------------------------
  # ● 得到地区名
  #--------------------------------------------------------------------------
  def zone(id=$game_map.map_id)
    name=$game_map.name[id].name.split(/@/)[1]
    return name
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    if @a_id!=$game_player.area_id
      @a_id=$game_player.area_id
      if @a_id.is_a?(Numeric) && $game_switches[T_m::Map_W_S] == true && (area_name.split(/,/)[0]!="2"&&area_name.split(/,/)[0]!="6"&&area_name.split(/,/)[0]!="4"&&area_name.split(/,/)[0]!="8")&&self.area_name!=@a_name
        @a_name=self.area_name
        @preview_not_dis=false
        T_m::preview_dis=false
        self.width=[T_m::WIDTH,T_m::TEXT1_SIZE*self.name.size/3+50].max
        if @time==0
          self.x=-5-self.width
        end
        create_contents
        self.contents.font.size=T_m::TEXT1_SIZE
        self.contents.font.color=T_m::TEXT1_COLOR
        self.contents.draw_text(0,0,self.width-32,T_m::TEXT1_SIZE,self.area_name)
        self.contents.font.size=T_m::TEXT2_SIZE
        self.contents.font.color=T_m::TEXT2_COLOR
         self.contents.draw_text(0,T_m::TEXT1_SIZE+2,self.width-32,T_m::TEXT2_SIZE,$game_actors[T_m::ZONE_NUM].name)     
#~         if @time==0
          @time=T_m::IN_TIME+T_m::SHOW_TIME+T_m::FADE_TIME
#~         elsif @time>T_m::SHOW_TIME+T_m::FADE_TIME
#~           @time=@time
#~         elsif @time>T_m::FADE_TIME
#~           @time=T_m::SHOW_TIME+T_m::FADE_TIME
#~         else
#~           @time=T_m::IN_TIME+(-self.width-5-self.x)/(self.width/T_m::IN_TIME)+T_m::SHOW_TIME+T_m::FADE_TIME
#~         end
      elsif $game_switches[T_m::Map_W_S] == true && $game_player.area_id.is_a?(Numeric)==false  
        @a_name=self.name
        if T_m::preview_dis
          T_m::preview_dis=false
        else
        self.width=[T_m::WIDTH,T_m::TEXT1_SIZE*self.name.size/3+50].max
        if @time==0
          self.x=-5-self.width
        end
        create_contents
        self.contents.font.size=T_m::TEXT1_SIZE
        self.contents.font.color=T_m::TEXT1_COLOR
        self.contents.draw_text(0,0,self.width-32,T_m::TEXT1_SIZE,self.name)
        self.contents.font.size=T_m::TEXT2_SIZE
        self.contents.font.color=T_m::TEXT2_COLOR
         self.contents.draw_text(0,T_m::TEXT1_SIZE+2,self.width-32,T_m::TEXT2_SIZE,$game_actors[T_m::ZONE_NUM].name)     
#~         if @time==0
          @time=T_m::IN_TIME+T_m::SHOW_TIME+T_m::FADE_TIME
#~         elsif @time>T_m::SHOW_TIME+T_m::FADE_TIME
#~           @time=@time
#~         elsif @time>T_m::FADE_TIME
#~           @time=T_m::SHOW_TIME+T_m::FADE_TIME
#~         else
#~           @time=T_m::IN_TIME+(-self.width-5-self.x)/(self.width/T_m::IN_TIME)+T_m::SHOW_TIME+T_m::FADE_TIME
#~         end
      end
      end
    end

    if @id!=$game_map.map_id
      self.contents.clear
      @id=$game_map.map_id
      if $game_switches[T_m::Map_W_S] == true
        if @zone_change == true
          if self.zone==nil || self.zone==""
          else
            $game_actors[T_m::ZONE_NUM].name=self.zone
          end
        end
        self.width=[T_m::WIDTH,T_m::TEXT1_SIZE*self.name.size/3+50].max
        if @time==0
          self.x=-5-self.width
        end
        create_contents
        self.contents.font.size=T_m::TEXT1_SIZE
        self.contents.font.color=T_m::TEXT1_COLOR
        if $game_player.area_id.is_a?(Numeric)
          mapname=self.area_name if (self.area_name!= nil && self.area_name!= "")
        else
          mapname=self.name
        end
        self.contents.draw_text(0,0,self.width-32,T_m::TEXT1_SIZE,mapname)
        self.contents.font.size=T_m::TEXT2_SIZE
        self.contents.font.color=T_m::TEXT2_COLOR
        self.contents.draw_text(0,T_m::TEXT1_SIZE+2,self.width-32,T_m::TEXT2_SIZE,$game_actors[T_m::ZONE_NUM].name)     
#~         if @time==0
          @time=T_m::IN_TIME+T_m::SHOW_TIME+T_m::FADE_TIME
#~         elsif @time>T_m::SHOW_TIME+T_m::FADE_TIME
#~           @time=@time
#~         elsif @time>T_m::FADE_TIME
#~           @time=T_m::SHOW_TIME+T_m::FADE_TIME
#~         else  
#~           @time=T_m::IN_TIME+(-self.width-5-self.x)/(self.width/T_m::IN_TIME)+T_m::SHOW_TIME+T_m::FADE_TIME
#~         end
      end
    end
    if @direct==1
      self.contents.clear
      self.width=[T_m::WIDTH,T_m::TEXT1_SIZE*self.name.size/3+50].max
      if @time==0
        self.x=-5-self.width
      end
      create_contents
      self.contents.font.size=T_m::TEXT1_SIZE
      self.contents.font.color=T_m::TEXT1_COLOR
      dname=@a_name
      self.contents.draw_text(0,0,self.width-32,T_m::TEXT1_SIZE,dname)
      self.contents.font.size=T_m::TEXT2_SIZE
      self.contents.font.color=T_m::TEXT2_COLOR
      self.contents.draw_text(0,T_m::TEXT1_SIZE+2,self.width-32,T_m::TEXT2_SIZE,$game_actors[T_m::ZONE_NUM].name)     
      @time=T_m::IN_TIME+T_m::SHOW_TIME+T_m::FADE_TIME
      @direct=0
    end
    if @time>T_m::SHOW_TIME+T_m::FADE_TIME
      self.opacity = 255*(T_m::IN_TIME+T_m::SHOW_TIME+T_m::FADE_TIME-@time)/(T_m::IN_TIME-1)
      self.contents_opacity = 255*(T_m::IN_TIME+T_m::SHOW_TIME+T_m::FADE_TIME-@time)/(T_m::IN_TIME-1)
      self.x = -self.width-5+self.width*(T_m::IN_TIME+T_m::SHOW_TIME+T_m::FADE_TIME-@time)/(T_m::IN_TIME-1)
      @time-=1
    elsif @time>T_m::FADE_TIME
      @time-=1
    elsif @time>0
      self.opacity = 255*(@time-1)/(T_m::FADE_TIME-1)
      self.contents_opacity = 255*(@time-1)/(T_m::FADE_TIME-1)
      self.x = -self.width-5+self.width*(@time-1)/(T_m::FADE_TIME-1)
      @time-=1
    else
      self.opacity = 0
      self.contents_opacity = 0
      self.x = -self.width-5
    end
   end
  #--------------------------------------------------------------------------
  # ● 直接显示
  #--------------------------------------------------------------------------
  def d_display
    @direct=1
  end
end

#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
#  对Scene_Map的追加定义。
#==============================================================================

class Scene_Map < Scene_Base  
  def map_window
    return @map_window
  end
  def zone_window
    return @zone_window
  end
  #--------------------------------------------------------------------------
  # ● 开始处理时建立对象
  #--------------------------------------------------------------------------
  alias _start start
  def start
    @map_window = Map_Window.new
    @zone_window = Zone_Window.new
    _start
  end
  #--------------------------------------------------------------------------
  # ● 释放时释放对象
  #--------------------------------------------------------------------------
  alias _terminate terminate
  def terminate
    @map_window.dispose
    @zone_window.dispose
    _terminate
  end
  #--------------------------------------------------------------------------
  # ● 刷新时刷新对象
  #--------------------------------------------------------------------------
  alias _update update
  def update
    @zone_window.refresh
    @map_window.refresh
    _update
  end
  #--------------------------------------------------------------------------
  # ● 标记为地区已改变(这个参数传递的很囧我承认)
  #--------------------------------------------------------------------------
  def zone_change
    @map_window.zone_change
  end   
end
#==============================================================================
# ■ Zone_Window
#------------------------------------------------------------------------------
#  显示地区名的类
#=============================================================================
class Zone_Window<Window_Base
  #--------------------------------------------------------------------------
  # ● 新建对象初始化
  #--------------------------------------------------------------------------  
  def initialize
    super(0,0,50,50)
    create_contents
    self.opacity = 0
    self.contents_opacity = 0
    @time=0
    self.contents.font.shadow = false
  end
  #--------------------------------------------------------------------------
  # ● 直接显示
  #--------------------------------------------------------------------------
  def d_display
    @direct=1
  end
  #--------------------------------------------------------------------------
  # ● 得到地区名
  #--------------------------------------------------------------------------
  def zone(id=$game_map.map_id)
    name=$data_areas[$game_player.area_id].name.split(/@/)[1] if $game_player.area_id.is_a?(Numeric)
    if name==nil || name==""
      name=$game_map.name[id].name.split(/@/)[1]
    end
#~     p name
    return name
  end
  #--------------------------------------------------------------------------
  # ● 得到地区英文名
  #--------------------------------------------------------------------------
  def zonee(id=$game_map.map_id)
    name=$game_map.name[id].name.split(/@/)[2]
    if $game_player.area_id.is_a?(Numeric)
      if $data_areas[$game_player.area_id].name.split(/@/)[1]!=nil &&
        $data_areas[$game_player.area_id].name.split(/@/)[1]!=""
        name=$data_areas[$game_player.area_id].name.split(/@/)[2]
      end
    end
    name="" if name==nil
    return name
  end
  #--------------------------------------------------------------------------
  # ● 描绘中文名
  #--------------------------------------------------------------------------
  def drawtext(x)
    self.contents.font.name=["华文中宋","STZhongsong","宋体","黑体"]
    self.contents.font.size=36
    self.contents.font.shadow=false
    self.contents.font.color=Color.new(255,255,255)
    self.contents.draw_text_f(x,0,self.contents.width,36,@text)
  end
  #--------------------------------------------------------------------------
  # ● 描绘英文名
  #--------------------------------------------------------------------------
  def drawtexten(x)
    self.contents.font.name=["Copperplate Gothic Light"]
    self.contents.font.size=12
    self.contents.font.shadow=false
    self.contents.font.color=Color.new(255,255,255)
    self.contents.draw_text_f(x,49,self.contents.width,12,@texten)
  end
  #--------------------------------------------------------------------------
  # ● 描绘横线
  #--------------------------------------------------------------------------
  def drawline
    self.contents.fill_rect(self.contents.width-5-@textw-1, 40, @textw+2, 5, Color.new(0,0,0,255))
    self.contents.fill_rect(self.contents.width-5-@textw, 41, @textw, 3, Color.new(255,255,255,255))   
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    if (self.zone != $game_actors[T_m::ZONE_NUM].name && self.zone != "" && self.zone != nil)||@direct==1
      $game_actors[T_m::ZONE_NUM].name=self.zone
      $scene.zone_change
      if ($game_switches[T_m::ZONE_W_S] == true)|| @direct==1
        @text=self.zone
        @texten=self.zonee
        @[email protected]*36/3
        @[email protected]*6
        @textw=[@textl,@textenl].max+24
        @l=@textw/12
        self.x=T_m::VX_W-@textw-@textl-5-16
        self.y=0
        self.width=@textw+@textl+5+32
        self.height=32+12+12+36
        @time=T_m::Z_IN_TIME+T_m::Z_SHOW_TIME+T_m::Z_FADE_TIME
        @direct=0
        create_contents
      end
    end
    if @time>T_m::Z_SHOW_TIME+T_m::Z_FADE_TIME
      self.contents_opacity = 255*(T_m::Z_IN_TIME+T_m::Z_SHOW_TIME+T_m::Z_FADE_TIME-@time)/(T_m::Z_IN_TIME-1)
      drawline
      if @time%2==1
        self.contents.clear
        drawline
        drawtext((self.contents.width-5-(@textw-@textl)/2-@textl)*(T_m::Z_IN_TIME+T_m::Z_SHOW_TIME+T_m::Z_FADE_TIME-@time)/(T_m::Z_IN_TIME-1))
        drawtexten(self.contents.width-(5+(@textw-@textenl)/2+@textenl)*(T_m::Z_IN_TIME+T_m::Z_SHOW_TIME+T_m::Z_FADE_TIME-@time)/(T_m::Z_IN_TIME-1))
      end
      @time-=1
    elsif @time>T_m::Z_FADE_TIME
      @time-=1
    elsif @time>0
      self.contents_opacity = 255*(@time-1)/(T_m::Z_FADE_TIME-1)
      if @time%2==1
        self.contents.clear
        drawline
        drawtext(self.contents.width-(5+(@textw-@textl)/2+@textl)*(@time-1)/(T_m::Z_FADE_TIME-1))
        drawtexten((self.contents.width-5-(@textw-@textenl)/2-@textenl)*(@time-1)/(T_m::Z_FADE_TIME-1))
        self.contents.blur
      end
      @time-=1
    else
      self.opacity=0
      self.contents_opacity=0
    end
  end
end

不用的时候把开关1开关2和开关8关闭就行了。很好用

附件放到\Graphics\System里,

red-grey.png (6.5 KB, 下载次数: 44)

red-grey.png

点评

。。为什么我用的都出错。。 也许我的脚本有冲突?  发表于 2010-7-25 16:36

评分

参与人数 2星屑 +314 收起 理由
木葬枫 + 300 认可答案,66RPG感谢您的热情解答 ...
wangswz + 14 用代码框一下吧

查看全部评分

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
5 小时
注册时间
2010-6-27
帖子
17
7
发表于 2010-8-4 14:01:57 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
5 小时
注册时间
2010-6-27
帖子
17
8
发表于 2010-8-4 14:02:21 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-18 10:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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