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

Project1

 找回密码
 注册会员
搜索

求助--在mapname中加入图片后按菜单键图片不消失

查看数: 3122 | 评论数: 5 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2012-8-9 23:04

正文摘要:

本帖最后由 l616631804 于 2012-8-9 23:05 编辑 今天尝试在mapname中加入图片效果获得成功,   请问怎么样才能在按菜单键后隐藏图片,并且在退出菜单后,如果地图名未显示完继续显示图片!修改后的脚 ...

回复

l616631804 发表于 2012-8-12 09:57:22
多谢 945127391 了,居然在这里卡脑袋了!真够悲剧的!
945127391 发表于 2012-8-11 23:09:51
在脚本最后一个end前加入:
  1. def dispose
  2.   super
  3.   @mapnamebj.dispose
  4. end
复制代码
l616631804 发表于 2012-8-11 08:54:26
主要问题是不知道在什么地方让它释放,尝试加了几个地方都不行呢!
狱冥幻翼 发表于 2012-8-10 22:08:25
是因为没释放吧,没看到dispose啊
l616631804 发表于 2012-8-10 08:36:39
本帖最后由 l616631804 于 2012-8-10 10:52 编辑

擦,为什么显示不完全呢?,是浏览器的问题还是论坛的问题呢?


今天尝试在mapname中加入图片效果获得成功,现在的问题是在显示地图名中如果按菜单键图片会一直显示在画面中。  请问怎么样才能在按菜单键后隐藏图片,并且在退出菜单后,如果地图名未显示完继续显示图片!修改后的脚本如下

#encoding:utf-8
#==============================================================================
# ■ Window_MapName
#------------------------------------------------------------------------------
#  显示地图名称的窗口。
#==============================================================================
class Window_MapName < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  def initialize
        super(0, 0, window_width, fitting_height(2))
        self.opacity = 0
        self.contents_opacity = 0
        self.x =  0
        self.y = Graphics.height / 2

        @mapnamebj = Sprite.new
        @mapnamebj1 = Sprite.new
        @show_count = 0
        refresh
  end
  #--------------------------------------------------------------------------
  # ● 获取窗口的宽度
  #--------------------------------------------------------------------------
  def window_width
    Graphics.width
#~         return 240
  end
  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  def update
        super
        if @show_count > 0 && $game_map.name_display
          update_fadein
          @show_count -= 1
        else
          update_fadeout
        end
  end
  #--------------------------------------------------------------------------
  # ● 更新淡入
  #--------------------------------------------------------------------------
  def update_fadein
        self.contents_opacity += 16
        @mapnamebj.opacity += 16
        @mapnamebj1.opacity += 16
  end
  #--------------------------------------------------------------------------
  # ● 更新淡出
  #--------------------------------------------------------------------------
  def update_fadeout
        self.contents_opacity -= 16
        @mapnamebj.opacity -= 16
        @mapnamebj1.opacity -= 16
  end
  #--------------------------------------------------------------------------
  # ● 打开窗口
  #--------------------------------------------------------------------------
  def open
        refresh
        @show_count = 100
        self.contents_opacity = 0
        self
  end
  #--------------------------------------------------------------------------
  # ● 关闭窗口
  #--------------------------------------------------------------------------
  def close
        @show_count = 0
        self
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
        contents.clear
        unless $game_map.display_name.empty?
          draw_background(contents.rect)
         
#~           color = Color.new(172, 16, 24)
#~           change_color(color)
          contents.font.size = 36
          draw_text(contents.rect, $game_map.display_name, 1)
        end
  end
  #--------------------------------------------------------------------------
  # ● 绘制背景
  #----------------- ---------------------------------------------------------
  def draw_background(rect)
        temp_rect = rect.clone
        temp_rect.width /= 2
        contents.gradient_fill_rect(temp_rect, back_color2, back_color1)
        @mapnamebj = Sprite.new
        @mapnamebj.bitmap = Cache.system("mapnamebj.png")
        @mapnamebj.z = 9999
        @mapnamebj.x =  temp_rect.width - 48
        @mapnamebj.y = Graphics.height / 2 - 20
        
        @mapnamebj1 = Sprite.new
        @mapnamebj1.bitmap = Cache.system("mapnamebj1.png")
        @mapnamebj1.z = 9999
        @mapnamebj1.x = temp_rect.width - 48
        @mapnamebj1.y = Graphics.height / 2 +40
        
      for i in 1..15
          @mapnamebj.x += 5
          @mapnamebj1.x -= 5
          Graphics.update
        end
        @mapnamebj.opacity = 0
        @mapnamebj1.opacity = 0

        temp_rect.x = temp_rect.width
        contents.gradient_fill_rect(temp_rect, back_color1, back_color2)
  end
  #--------------------------------------------------------------------------
  # ● 获取背景色 1
  #--------------------------------------------------------------------------
  def back_color1
        Color.new(21, 66, 95, 192)
  end
  #--------------------------------------------------------------------------
  # ● 获取背景色 2
  #--------------------------------------------------------------------------
  def back_color2
        Color.new(0, 0, 0, 0)
  end
end


擦,不用代码框看能不能显示全哟!
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-5-18 06:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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