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

Project1

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

[已经过期] 在Windows_menustastus中插入背景图无法dispose

[复制链接]

Lv1.梦旅人

梦石
0
星屑
65
在线时间
13 小时
注册时间
2008-1-11
帖子
330
跳转到指定楼层
1
发表于 2013-7-28 01:47:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
在Windows_menustastus中窗口初化时插入了张背景图

@back_sprite = Sprite.new
   @back_sprite.bitmap = Cache.picture("BK_Mainmenu.png")

同时在end后面做了dispose


def dispose
    super
  @back_sprite.bitmap.dispose
end

然后切换到其它界面时,Windows_menustastus的背景图都会显示,唯独物品和技能界面图片消失。
求解

Lv1.梦旅人

梦石
0
星屑
196
在线时间
835 小时
注册时间
2012-9-16
帖子
1811
2
发表于 2013-7-28 09:38:42 | 只看该作者
为什么要从这,,,我是从Scene_Menu入手的。另外,这是一个窗口,非场景。。。

插入此段吧。不过其实上面的设定部分不需要的。。。我去改下啊。
  1. module XRXSV10
  2.   BG_NAME    = "MenuBack"
  3.   BG_OPACITY = 240#224
  4. end
  5. class Scene_Base
  6.   def snapshot_for_background
  7.     $game_temp.background_bitmap.dispose
  8.     $game_temp.background_bitmap = Graphics.snap_to_bitmap
  9.   end
  10.   alias xrxsv10_create_menu_background create_menu_background
  11.   def create_menu_background
  12.     xrxsv10_create_menu_background
  13.     if XRXSV10::BG_NAME.size >= 1
  14.       @menuback_sprite.color.alpha = 0
  15.       @menuback2_sprite = Sprite.new
  16.       @menuback2_sprite.bitmap = Bitmap.new(Graphics.width, Graphics.height)
  17.       begin
  18.         skin = Cache.system(XRXSV10::BG_NAME)
  19.         @menuback2_sprite.bitmap.stretch_blt(@menuback2_sprite.bitmap.rect, skin, skin.rect, XRXSV10::BG_OPACITY)
  20.       rescue
  21.         nil
  22.       end
  23.     end
  24.   end
  25.   alias xrxsv10_dispose_menu_background dispose_menu_background
  26.   def dispose_menu_background
  27.     xrxsv10_dispose_menu_background
  28.     @menuback2_sprite.dispose if @menuback2_sprite != nil
  29.   end
  30. end
复制代码
这个上面的设定部分只是方面那些不太懂脚本的使用者的。。。
改好了:
  1. class Scene_Base
  2.   def snapshot_for_background
  3.     $game_temp.background_bitmap.dispose
  4.     $game_temp.background_bitmap = Graphics.snap_to_bitmap
  5.   end
  6.   alias xrxsv10_create_menu_background create_menu_background
  7.   def create_menu_background
  8.     xrxsv10_create_menu_background
  9.     if XRXSV10::BG_NAME.size >= 1
  10.       @menuback_sprite.color.alpha = 0
  11.       @menuback2_sprite = Sprite.new
  12.       @menuback2_sprite.bitmap = Bitmap.new(Graphics.width, Graphics.height)
  13.       begin
  14.         skin = Cache.system("MenuBack")
  15.         @menuback2_sprite.bitmap.stretch_blt(@menuback2_sprite.bitmap.rect, skin, skin.rect, 240)
  16.       rescue
  17.         nil
  18.       end
  19.     end
  20.   end
  21.   alias xrxsv10_dispose_menu_background dispose_menu_background
  22.   def dispose_menu_background
  23.     xrxsv10_dispose_menu_background
  24.     @menuback2_sprite.dispose if @menuback2_sprite != nil
  25.   end
  26. end
复制代码

点评

对了。。。改动后的应该可以吧。。。没试验过。  发表于 2013-7-28 09:39

——旧坑欢迎戳
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
841 小时
注册时间
2010-8-11
帖子
1135
3
发表于 2013-8-3 04:41:07 | 只看该作者
看不太懂你的问题……不过……为何要将@back_spritebitmap释放掉而不是将@back_sprite本身释放掉呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 11:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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