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

Project1

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

[已经解决] 开场的时候不想显示地图名应该怎么处理呢?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2010-6-21
帖子
27
跳转到指定楼层
1
发表于 2010-7-25 07:42:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 紫帝 于 2010-7-25 08:47 编辑

请教
用的脚本
#_______________________________________________________________________________
# 地图名窗口不会重复,窗口透明,调透明度36行
# 非汉化版【英文】,凑活着用吧...
#_______________________________________________________________________________   
# MOG_Location_Name_VX V1.0  
#_______________________________________________________________________________
# Apresenta uma janela com o nome do map.
# Eacute; necessário ter uma imagem com o nome de  MAPNAME
# dentro da pasta Graphics/System.
#_______________________________________________________________________________
module MOG
#Font Name.
MPFONT = "文鼎古印体繁"
#Fade ON/OFF(True - False).
MPNMFD = true
#Fade Time.
MPNMTM = 18
#Window Position.
# 0 = Upper Left.
# 1 = Lower Left.
# 2 = Upper Right.
# 3 = Lower Right.
MPNMPS = 1
# Disable Switch(ID).
WM_SWITCH_VIS_DISABLE = 15
end
#_________________________________________________
###############
# Game_System #
###############
class Game_System
attr_accessor :fdtm
attr_accessor :mpnm_x
attr_accessor :mpnm_y
alias mog_vx06_initialize initialize
def initialize
mog_vx06_initialize
@fdtm = 255 + 40 * MOG::MPNMTM
if MOG::MPNMPS == 0
@mpnm_x = -300
@mpnm_y = 0
elsif MOG::MPNMPS == 1
@mpnm_x = -300
@mpnm_y = 320
elsif MOG::MPNMPS == 2
@mpnm_x = 640
@mpnm_y = 0
else
@mpnm_x = 640
@mpnm_y = 320
end  
end
def mpnm_x
return @mpnm_x
end
def mpnm_y
return @mpnm_y
end
def fdtm
if @fdtm <= 0
@fdtm = 0
end
return @fdtm
end
end
############
# Game_Map #
############
class Game_Map
attr_reader   :map_id  
def mpname
$mpname = load_data("Data/MapInfos.rvdata")
$mpname[@map_id].name
end
end
###############
# Window Base #
###############
class Window_Base < Window
def nd_mapic
mapic = Cache.system("")     
end  
def draw_mpname(x,y)
mapic = Cache.system("Mpname") rescue nd_mapic   
cw = mapic.width  
ch = mapic.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y - ch + 65, mapic, src_rect)
self.contents.font.name = MOG::MPFONT
self.contents.font.size = 22
self.contents.font.bold = true
self.contents.font.shadow = true
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 76, y + 27, 110, 32, $game_map.mpname.to_s,1)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 75, y + 26, 110, 32, $game_map.mpname.to_s,1)
end
end
##########
# Mpname #
##########
class Mpname < Window_Base
def initialize(x , y)
super($game_system.mpnm_x, $game_system.mpnm_y, 250, WLH + 70)
self.opacity = 0
refresh
end
def refresh
self.contents.clear
draw_mpname(10,0)   
end
end
#############
# Scene_Map #
#############
class Scene_Map
alias mog_vx06_start start
def start
@mpnm = Mpname.new($game_system.mpnm_x, $game_system.mpnm_y)
@mpnm.contents_opacity = $game_system.fdtm
if $game_switches[MOG::WM_SWITCH_VIS_DISABLE] == false
@mpnm.visible = true
else
@mpnm.visible = false  
end  
mog_vx06_start  
end  
alias mog_vx06_terminate terminate
def terminate
mog_vx06_terminate
@mpnm.dispose
end
alias mog_vx06_update update
def update
mog_vx06_update  
location_name_update
end
def location_name_update
$game_system.mpnm_x = @mpnm.x
$game_system.mpnm_y = @mpnm.y
if $game_switches[MOG::WM_SWITCH_VIS_DISABLE] == true or $game_system.fdtm <= 0
@mpnm.visible = false  
else
@mpnm.visible = true
end
if MOG::MPNMPS == 0 or MOG::MPNMPS == 1
if @mpnm.x < 0
@mpnm.x += 5
elsif @mpnm.x >= 0
@mpnm.x = 0
end   
else
if @mpnm.x > 300
@mpnm.x -= 5
elsif @mpnm.x <= 300
@mpnm.x = 300
end     
end
@mpnm.contents_opacity = $game_system.fdtm
if MOG::MPNMFD == true
$game_system.fdtm -= 3
end
end
alias mog_vx06_update_transfer_player update_transfer_player
def update_transfer_player
return unless $game_player.transfer?
@mpnm.contents_opacity = 0
mog_vx06_update_transfer_player
if MOG::MPNMPS == 0
$game_system.mpnm_x = -340
$game_system.mpnm_y = 0
elsif MOG::MPNMPS == 1
$game_system.mpnm_x = -340
$game_system.mpnm_y = 320
elsif MOG::MPNMPS == 2
$game_system.mpnm_x = 640
$game_system.mpnm_y = 0
else
$game_system.mpnm_x = 640
$game_system.mpnm_y = 320
end  
@mpnm.y = $game_system.mpnm_y
@mpnm.x = $game_system.mpnm_x
$game_system.fdtm = 255 + 60 * MOG::MPNMTM
@mpnm.refresh
end
end
$mogscript = {} if $mogscript == nil
$mogscript["location_name_vx"] = true

Lv1.梦旅人

梦石
0
星屑
85
在线时间
424 小时
注册时间
2009-8-3
帖子
984
2
发表于 2010-7-25 08:09:16 | 只看该作者
好像本来就没有显示地图名吧?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
51
在线时间
1 小时
注册时间
2010-7-21
帖子
180
3
发表于 2010-7-25 10:30:06 | 只看该作者
你一个脚本吧、
脚本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, 下载次数: 35)

red-grey.png

点评

脚本插入到main之前。会吧? 你那个没有开关控制, MPFONT = "文鼎古印体繁" #Fade ON/OFF(True - False). 这个就是控制处  发表于 2010-7-25 10:31

评分

参与人数 1星屑 +400 收起 理由
木葬枫 + 400 认可答案,66RPG感谢您的热情解答 ...

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-6 00:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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