Project1

标题: 让这个图片消失 [打印本页]

作者: cinderelmini    时间: 2008-11-23 23:31
标题: 让这个图片消失
明尼在WINDOW_HELP里打开了图片(构思是用图片代替HELP窗口),在游戏里一切正常,但是在没有地图块和图片的时候,它就出现了。
MS没有dispose,以前也遇见过这个问题,但是由于之前的窗口都有SCENE,所以也就好办了,可是WINDOW_HELP没有SCENE,所以明尼真的束手无策了。
望各位大人帮忙。

补充:不要跟我说是要在所有打开HELP窗口的SCENE里都打开那张图,然后再dispose吧 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: cinderelmini    时间: 2008-11-23 23:38
试试在WINDOW的任意一个里打开一张图,然后设置一个没有战斗背景的战斗(应该可以的吧?)看见了在WINDOW的打开的图片没有消失。
就是这样的说。
作者: trentswd    时间: 2008-11-23 23:50
def dispose
super
xxx.dispose
end
作者: cinderelmini    时间: 2008-11-23 23:58
还是不行啊,
把脚本贴上来了,
  1. #==============================================================================
  2. # ■ Window_Help
  3. #------------------------------------------------------------------------------
  4. #  特技及物品的说明、角色的状态显示的窗口。
  5. #==============================================================================

  6. class Window_Help < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0,-10, 640, 64)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.     self.opacity = 0
  14.     #====cinderciella====打开背景图
  15.     @menu_com = Sprite.new
  16.     @menu_com.bitmap = RPG::Cache.picture("help.png")
  17.     #====cinderciella====打开背景图
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 设置文本
  21.   #     text  : 窗口显示的字符串
  22.   #     align : 对齐方式 (0..左对齐、1..中间对齐、2..右对齐)
  23.   #--------------------------------------------------------------------------
  24.   def set_text(text, align = 0)
  25.     # 如果文本和对齐方式的至少一方与上次的不同
  26.     if text != @text or align != @align
  27.       # 再描绘文本
  28.       self.contents.clear
  29.       self.contents.font.color = normal_color
  30.       self.contents.draw_text(4, 0, self.width - 40, 32, text, align)
  31.       @text = text
  32.       @align = align
  33.       @actor = nil
  34.     end
  35.     self.visible = true
  36.   end
  37.   #--------------------------------------------------------------------------
  38.   # ● 设置角色
  39.   #     actor : 要显示状态的角色
  40.   #--------------------------------------------------------------------------
  41.   def set_actor(actor)
  42.     if actor != @actor
  43.       self.contents.clear
  44.       draw_actor_name(actor, 4, 0)
  45.       draw_actor_state(actor, 140, 0)
  46.       draw_actor_hp(actor, 284, 0)
  47.       draw_actor_sp(actor, 460, 0)
  48.       @actor = actor
  49.       @text = nil
  50.       self.visible = true
  51.     end
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # ● 设置敌人
  55.   #     enemy : 要显示名字和状态的敌人
  56.   #--------------------------------------------------------------------------
  57.   def set_enemy(enemy)
  58.     text = enemy.name
  59.     state_text = make_battler_state_text(enemy, 112, false)
  60.     if state_text != ""
  61.       text += "  " + state_text
  62.     end
  63.     set_text(text, 1)
  64.   end

  65. end
复制代码


目的就是把脚本里打开的“help.png”这张图消失掉。
作者: cinderelmini    时间: 2008-11-24 00:56
还是没人理这个问题哦,难道HELP窗口不能用图片作低吗?
作者: trentswd    时间: 2008-11-24 01:19

  1. #==============================================================================
  2. # ■ Window_Help
  3. #------------------------------------------------------------------------------
  4. #  特技及物品的说明、角色的状态显示的窗口。
  5. #==============================================================================

  6. class Window_Help < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0,-10, 640, 64)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.     self.opacity = 0
  14.     #====cinderciella====打开背景图
  15.     @menu_com = Sprite.new
  16.     @menu_com.bitmap = RPG::Cache.picture("help.png")
  17.     #====cinderciella====打开背景图
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 设置文本
  21.   #     text  : 窗口显示的字符串
  22.   #     align : 对齐方式 (0..左对齐、1..中间对齐、2..右对齐)
  23.   #--------------------------------------------------------------------------
  24.   def set_text(text, align = 0)
  25.     # 如果文本和对齐方式的至少一方与上次的不同
  26.     if text != @text or align != @align
  27.       # 再描绘文本
  28.       self.contents.clear
  29.       self.contents.font.color = normal_color
  30.       self.contents.draw_text(4, 0, self.width - 40, 32, text, align)
  31.       @text = text
  32.       @align = align
  33.       @actor = nil
  34.     end
  35.     self.visible = true
  36.   end
  37.   #--------------------------------------------------------------------------
  38.   # ● 设置角色
  39.   #     actor : 要显示状态的角色
  40.   #--------------------------------------------------------------------------
  41.   def set_actor(actor)
  42.     if actor != @actor
  43.       self.contents.clear
  44.       draw_actor_name(actor, 4, 0)
  45.       draw_actor_state(actor, 140, 0)
  46.       draw_actor_hp(actor, 284, 0)
  47.       draw_actor_sp(actor, 460, 0)
  48.       @actor = actor
  49.       @text = nil
  50.       self.visible = true
  51.     end
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # ● 设置敌人
  55.   #     enemy : 要显示名字和状态的敌人
  56.   #--------------------------------------------------------------------------
  57.   def set_enemy(enemy)
  58.     text = enemy.name
  59.     state_text = make_battler_state_text(enemy, 112, false)
  60.     if state_text != ""
  61.       text += "  " + state_text
  62.     end
  63.     set_text(text, 1)
  64.   end

  65. def dispose
  66. @menu_com.dispose
  67. super
  68. end


  69. end

复制代码

试试看吧……不过如果window没有dispose的话,只是改变透明度而消失确实没有用
作者: cinderelmini    时间: 2008-11-24 03:42
LS的,这个办法明尼试过了,就是不行啊。
工程在这里,各位看看要怎么解决:
http://rpg.blue/upload_program/d ... _Help_107898115.rar
作者: redant    时间: 2008-11-24 04:17


这种效果? 没弄明白什么意思= =|
作者: cinderelmini    时间: 2008-11-24 04:21
啊,设置一个没战斗图的战斗试试看,
那张“Help”的图就是死活不消失。
作者: redant    时间: 2008-11-24 04:36
@menu_com = Sprite.new
    @menu_com.bitmap = RPG::Cache.picture("help.png")
    @menu_com.z=9999
放到Scene_Battle的main下 @help_window.visible = false下面就行

@menu_com.dispose放到释放窗口下

是不是这样呢?

[LINE]1,#dddddd[/LINE]

help里的那部分要删掉 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: cinderelmini    时间: 2008-11-24 04:43
果然,和明尼刚开始想的一样,要在每个要显示Help的Scene里加上那些句子。。。
本来想在哪里加入dispose就好的,难道真的没办法这样做吗?
作者: cinderelmini    时间: 2008-11-25 03:14
还是要和最开始的最麻烦的办法做起,问题好像没什么收效。。。
但是还是要谢谢redant大人和各位的热心帮助。。。。。。
作者: 死亡之龙    时间: 2009-6-12 08:00
提示: 作者被禁止或删除 内容自动屏蔽




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