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

Project1

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

[已经过期] 使用地图名显示脚本出现点问题

[复制链接]

Lv4.逐梦者

梦石
0
星屑
5987
在线时间
1557 小时
注册时间
2011-6-14
帖子
520
跳转到指定楼层
1
发表于 2014-9-15 21:39:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如果不删除这个段我的游戏就会跳出  self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name, 1)   删除了就会像图里一样不显示文字  



这段代码在演示文件上并没有问题 但是我一拉到我下载的集成脚本里面就会这样  求教如何能在上图框内让他正常显示地图名




#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================


#==============================================================================
# ■ 地图名显示脚本
#     by Yuee
#------------------------------------------------------------------------------
# 在Main的上方插入一个页,将本脚本复制到那页中即可
#==============================================================================

#==============================================================================
# ■ Window_MapName
#------------------------------------------------------------------------------
#  显示地图名字的窗口。
#==============================================================================

class Window_MapName < Window_Base
  #--------------------------------------------------------------------------
  # ● 类常量定义
  #--------------------------------------------------------------------------

  # 暂时屏蔽用的开关
  SWITCH = 11
  
  # 窗口位置设定
  NAME_X = 380      # 矩形左上顶点X坐标
  NAME_Y = 20       # 矩形左上顶点Y坐标
  NAME_W = 220      # 矩形宽
  NAME_H = 60       # 矩形高
  
  # 显示时间设置
  SHOW_TIME_0 = 10  # 地图名出现前等待的帧数
  SHOW_TIME_1 = 10  # 地图名从不可见变成可见的帧数
  SHOW_TIME_2 = 64  # 地图名完全可见的帧数
  SHOW_TIME_3 = 34  # 地图名从可见变成不可见的帧数
  
  # 完全可见时的透明度设置
  OPACITY_1 = 244   # 边框
  OPACITY_2 = 144   # 背景
  OPACITY_3 = 255   # 文字
  
  # 地图名字的颜色
  TEXT_COLOR = Color.new(255, 255, 255, 255)
   
  #--------------------------------------------------------------------------
  # ● 初始化状态
  #--------------------------------------------------------------------------
  def initialize
    super(NAME_X , NAME_Y, NAME_W, NAME_H)
    # 初始化窗口透明度
    self.opacity = 0
    self.back_opacity = 0
    self.contents_opacity = 0
    self.contents = Bitmap.new(width - 32, height - 32)
    # 剩余帧数初始化
    @show_time = 0
  end
  #--------------------------------------------------------------------------
  # ● 输出文字
  #--------------------------------------------------------------------------
  def setname   
    unless $game_switches[SWITCH]==true
      # 获取地图ID
      newid = $game_map.map_id
      time = SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3  
      # 如果现在的地图的ID不是刚才显示的地图ID则开始显示
      if newid != @id
        @id = newid
        @show_time = SHOW_TIME_0 + SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3
      # 剩余帧数为0是时,全部窗口透明
      elsif @show_time < 1
        self.opacity = 0
        self.back_opacity = 0
        self.contents_opacity = 0
        return
      end      
      self.contents.clear
      self.contents.font.color = TEXT_COLOR
      # 描绘地图名
      #self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name, 1)
      # 根本帧数设定窗口透明度
      if @show_time > (SHOW_TIME_2 + SHOW_TIME_3)
        self.opacity = @show_time < time ? (((OPACITY_1 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
        self.back_opacity = @show_time < time ? (((OPACITY_2 / SHOW_TIME_1 )* (time - @show_time)).to_i) : 0
        self.contents_opacity = @show_time < time ? (((OPACITY_3 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
      else
        self.opacity = @show_time < (SHOW_TIME_3 / 16 * 14) ? ((OPACITY_1 / SHOW_TIME_3) * @show_time).to_i : OPACITY_1
        self.back_opacity = @show_time < (SHOW_TIME_3 / 16 * 9) ? ((OPACITY_2 / SHOW_TIME_3) * @show_time).to_i : OPACITY_2
        self.contents_opacity = @show_time < SHOW_TIME_3 ? ((OPACITY_3 / SHOW_TIME_3)* @show_time).to_i : OPACITY_3
      end      
      @show_time -= 1
    end
  end
end

#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
#  处理地图画面的类。(追加定义)
#==============================================================================

class Scene_Map
  alias smn_main main
  def main
    @mapname = Window_MapName.new
    smn_main
    @mapname.dispose
  end
  
  alias smn_update update
  def update
    @mapname.setname
    smn_update
  end
end

#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
#  处理标题画面的类。(追加定义)
#==============================================================================

class Scene_Title
  alias smn_main main
  def main
    # 读取地图信息文件
    $data_mapinfos = load_data("Data/MapInfos.rxdata")
    smn_main
  end
end

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================

Lv4.逐梦者

梦石
0
星屑
5987
在线时间
1557 小时
注册时间
2011-6-14
帖子
520
2
 楼主| 发表于 2014-9-15 21:40:01 | 只看该作者

使用地图名显示脚本出现点问题

如果不删除这个段我的游戏就会跳出  self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name, 1)   删除了就会像图里一样不显示文字  



这段代码在演示文件上并没有问题 但是我一拉到我下载的集成脚本里面就会这样  求教如何能在上图框内让他正常显示地图名




#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================


#==============================================================================
# ■ 地图名显示脚本
#     by Yuee
#------------------------------------------------------------------------------
# 在Main的上方插入一个页,将本脚本复制到那页中即可
#==============================================================================

#==============================================================================
# ■ Window_MapName
#------------------------------------------------------------------------------
#  显示地图名字的窗口。
#==============================================================================

class Window_MapName < Window_Base
  #--------------------------------------------------------------------------
  # ● 类常量定义
  #--------------------------------------------------------------------------

  # 暂时屏蔽用的开关
  SWITCH = 11
  
  # 窗口位置设定
  NAME_X = 380      # 矩形左上顶点X坐标
  NAME_Y = 20       # 矩形左上顶点Y坐标
  NAME_W = 220      # 矩形宽
  NAME_H = 60       # 矩形高
  
  # 显示时间设置
  SHOW_TIME_0 = 10  # 地图名出现前等待的帧数
  SHOW_TIME_1 = 10  # 地图名从不可见变成可见的帧数
  SHOW_TIME_2 = 64  # 地图名完全可见的帧数
  SHOW_TIME_3 = 34  # 地图名从可见变成不可见的帧数
  
  # 完全可见时的透明度设置
  OPACITY_1 = 244   # 边框
  OPACITY_2 = 144   # 背景
  OPACITY_3 = 255   # 文字
  
  # 地图名字的颜色
  TEXT_COLOR = Color.new(255, 255, 255, 255)
   
  #--------------------------------------------------------------------------
  # ● 初始化状态
  #--------------------------------------------------------------------------
  def initialize
    super(NAME_X , NAME_Y, NAME_W, NAME_H)
    # 初始化窗口透明度
    self.opacity = 0
    self.back_opacity = 0
    self.contents_opacity = 0
    self.contents = Bitmap.new(width - 32, height - 32)
    # 剩余帧数初始化
    @show_time = 0
  end
  #--------------------------------------------------------------------------
  # ● 输出文字
  #--------------------------------------------------------------------------
  def setname   
    unless $game_switches[SWITCH]==true
      # 获取地图ID
      newid = $game_map.map_id
      time = SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3  
      # 如果现在的地图的ID不是刚才显示的地图ID则开始显示
      if newid != @id
        @id = newid
        @show_time = SHOW_TIME_0 + SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3
      # 剩余帧数为0是时,全部窗口透明
      elsif @show_time < 1
        self.opacity = 0
        self.back_opacity = 0
        self.contents_opacity = 0
        return
      end      
      self.contents.clear
      self.contents.font.color = TEXT_COLOR
      # 描绘地图名
      #self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name, 1)
      # 根本帧数设定窗口透明度
      if @show_time > (SHOW_TIME_2 + SHOW_TIME_3)
        self.opacity = @show_time < time ? (((OPACITY_1 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
        self.back_opacity = @show_time < time ? (((OPACITY_2 / SHOW_TIME_1 )* (time - @show_time)).to_i) : 0
        self.contents_opacity = @show_time < time ? (((OPACITY_3 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
      else
        self.opacity = @show_time < (SHOW_TIME_3 / 16 * 14) ? ((OPACITY_1 / SHOW_TIME_3) * @show_time).to_i : OPACITY_1
        self.back_opacity = @show_time < (SHOW_TIME_3 / 16 * 9) ? ((OPACITY_2 / SHOW_TIME_3) * @show_time).to_i : OPACITY_2
        self.contents_opacity = @show_time < SHOW_TIME_3 ? ((OPACITY_3 / SHOW_TIME_3)* @show_time).to_i : OPACITY_3
      end      
      @show_time -= 1
    end
  end
end

#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
#  处理地图画面的类。(追加定义)
#==============================================================================

class Scene_Map
  alias smn_main main
  def main
    @mapname = Window_MapName.new
    smn_main
    @mapname.dispose
  end
  
  alias smn_update update
  def update
    @mapname.setname
    smn_update
  end
end

#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
#  处理标题画面的类。(追加定义)
#==============================================================================

class Scene_Title
  alias smn_main main
  def main
    # 读取地图信息文件
    $data_mapinfos = load_data("Data/MapInfos.rxdata")
    smn_main
  end
end

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5987
在线时间
1557 小时
注册时间
2011-6-14
帖子
520
3
 楼主| 发表于 2014-9-15 22:56:58 | 只看该作者
@573932914  你有说了什么吗
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
206 小时
注册时间
2014-2-8
帖子
396
4
发表于 2014-9-16 13:04:08 | 只看该作者
RUBY 代码复制
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================
  4.  
  5.  
  6. #==============================================================================
  7. # ■ 地图名显示脚本
  8. #      by Yuee
  9. #------------------------------------------------------------------------------
  10. # 在Main的上方插入一个页,将本脚本复制到那页中即可
  11. #==============================================================================
  12.  
  13. #==============================================================================
  14. # ■ Window_MapName
  15. #------------------------------------------------------------------------------
  16. #    显示地图名字的窗口。
  17. #==============================================================================
  18.  
  19. class Window_MapName < Window_Base
  20.    #--------------------------------------------------------------------------
  21.    # ● 类常量定义
  22.    #--------------------------------------------------------------------------
  23.  
  24.    # 暂时屏蔽用的开关
  25.    SWITCH = 20
  26.  
  27.    # 窗口位置设定
  28.    NAME_X = 209       # 矩形左上顶点X坐标
  29.    NAME_Y = 24        # 矩形左上顶点Y坐标
  30.    NAME_W = 220       # 矩形宽
  31.    NAME_H = 60        # 矩形高
  32.  
  33.    # 显示时间设置
  34.    SHOW_TIME_0 = 10   # 地图名出现前等待的帧数
  35.    SHOW_TIME_1 = 10   # 地图名从不可见变成可见的帧数
  36.    SHOW_TIME_2 = 34   # 地图名完全可见的帧数
  37.    SHOW_TIME_3 = 16   # 地图名从可见变成不可见的帧数
  38.  
  39.    # 完全可见时的透明度设置
  40.    OPACITY_1 = 244    # 边框
  41.    OPACITY_2 = 255    #144    # 背景
  42.    OPACITY_3 = 255    # 文字
  43.  
  44.    # 地图名字的颜色
  45.    TEXT_COLOR = Color.new(255, 255, 255, 255)
  46.    TEXT_COLOR2 = Color.new(255, 255, 255, 255)
  47.    TEXT_COLOR3 = Color.new(255, 255, 255, 255)
  48.    #--------------------------------------------------------------------------
  49.    # ● 初始化状态
  50.    #--------------------------------------------------------------------------
  51.    def initialize
  52.      super(NAME_X , NAME_Y, NAME_W, NAME_H)
  53.      # 初始化窗口透明度
  54.      self.opacity = 0
  55.      self.back_opacity = 0
  56.      self.contents_opacity = 0
  57.      self.contents = Bitmap.new(width - 32, height - 32)
  58.      # 剩余帧数初始化
  59.      @show_time = 0
  60.  
  61.  
  62. end
  63.    #--------------------------------------------------------------------------
  64.    # ● 输出文字
  65.    #--------------------------------------------------------------------------
  66.    def setname
  67.     # if $data_system.start_map_id==10
  68.     #   $game_player.transparent=true
  69.     #   $begin_....=true
  70.    # else
  71.      # $begin_....=false
  72.     #    end
  73.      unless $game_switches[SWITCH]==true
  74.        # 获取地图ID
  75.        newid = $game_map.map_id
  76.        time = SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3 + 40
  77.        # 如果现在的地图的ID不是刚才显示的地图ID则开始显示
  78.        if newid != @id and newid != 10 and newid != 34
  79.          @id = newid
  80.          @show_time = SHOW_TIME_0 + SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3+40
  81.        # 剩余帧数为0时,全部窗口透明
  82.        elsif @show_time < 1
  83.          self.opacity = 0
  84.          self.back_opacity = 0
  85.          self.contents_opacity = 0
  86.          return
  87.        end     
  88.        self.contents.clear
  89.        self.contents.font.color = TEXT_COLOR
  90.        # 描绘地图名        
  91.         self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name, 1)
  92.        # 根本帧数设定窗口透明度
  93.        if @show_time > (SHOW_TIME_2 + SHOW_TIME_3 + 40)
  94.  
  95.  
  96.          self.opacity = @show_time < time ? (((OPACITY_1 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  97.          self.back_opacity = @show_time < time ? (((OPACITY_2 / SHOW_TIME_1 )* (time - @show_time)).to_i) : 0
  98.          self.contents_opacity = @show_time < time ? (((OPACITY_3 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  99.        else
  100.          self.opacity = @show_time < (SHOW_TIME_3 / 16 * 14) ? ((OPACITY_1 / SHOW_TIME_3) * @show_time).to_i : OPACITY_1
  101.          self.back_opacity = @show_time < (SHOW_TIME_3 / 16 * 9) ? ((OPACITY_2 / SHOW_TIME_3) * @show_time).to_i : OPACITY_2
  102.          self.contents_opacity = @show_time < SHOW_TIME_3 ? ((OPACITY_3 / SHOW_TIME_3)* @show_time).to_i : OPACITY_3
  103.        end     
  104.        @show_time -= 1
  105.      end
  106.      end
  107. end
  108.  
  109. #==============================================================================
  110. # ■ Scene_Map
  111. #------------------------------------------------------------------------------
  112. #    处理地图画面的类。(追加定义)
  113. #==============================================================================
  114.  
  115. class Scene_Map
  116.    alias smn_main main
  117.    def main
  118.      @mapname = Window_MapName.new
  119.      smn_main
  120.      @mapname.dispose
  121.    end
  122.  
  123.    alias smn_update update
  124.    def update
  125.      @mapname.setname
  126.      smn_update
  127.    end
  128. end
  129.  
  130. #==============================================================================
  131. # ■ Scene_Title
  132. #------------------------------------------------------------------------------
  133. #    处理标题画面的类。(追加定义)
  134. #==============================================================================
  135.  
  136. class Scene_Title
  137.    alias smn_main main
  138.    def main
  139.      # 读取地图信息文件
  140.      $data_mapinfos = load_data("Data/MapInfos.rxdata")
  141.      smn_main
  142.    end
  143. end
  144.  
  145. #==============================================================================
  146. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  147. #==============================================================================
试试这个?

点评

幸苦了,可惜还是跳出,不过是其他脚本的问题,可能不兼容吧  发表于 2014-9-16 15:14
昨天电脑突然蓝屏了所以没有来得及回复←←  发表于 2014-9-16 13:05
刚接触RPG的新人们裤艾来这里!在这里能够帮助你们提高自身的能力,让大家来帮助每个人实现自己的创意、构想!
也许你只是正在看RPG教程的新人,或者是正在努力学着制作自己的RPG的制作者,或者是狂热的RPG游戏喜爱者,
但都不重要!
加入我们,我们会帮助你实现梦想,或者帮助你更好的运用RPG并且创造个人的一片天地!周末我们会不定时间开放RM技术讨论活动或者RM经验交流课!
加入我们,我们愿意与你共同创造奇迹,共同进步!
QQ群号:329443038  
或者联系QQ:573932914
我们和你站在同一线!
要求只有:常能上线
我们会用十分的热情接纳你!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
206 小时
注册时间
2014-2-8
帖子
396
5
发表于 2014-9-16 18:23:55 | 只看该作者
发工程让那些有耐心的人帮你改吧←←
刚接触RPG的新人们裤艾来这里!在这里能够帮助你们提高自身的能力,让大家来帮助每个人实现自己的创意、构想!
也许你只是正在看RPG教程的新人,或者是正在努力学着制作自己的RPG的制作者,或者是狂热的RPG游戏喜爱者,
但都不重要!
加入我们,我们会帮助你实现梦想,或者帮助你更好的运用RPG并且创造个人的一片天地!周末我们会不定时间开放RM技术讨论活动或者RM经验交流课!
加入我们,我们愿意与你共同创造奇迹,共同进步!
QQ群号:329443038  
或者联系QQ:573932914
我们和你站在同一线!
要求只有:常能上线
我们会用十分的热情接纳你!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-21 20:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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