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

Project1

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

[已经过期] 关于Window的dispose,为什么dispose之后还显示0 0

 关闭 [复制链接]

Lv1.梦旅人

星君

梦石
0
星屑
83
在线时间
2980 小时
注册时间
2011-10-9
帖子
2317

贵宾短篇七萝莉正太组冠军

跳转到指定楼层
1
发表于 2011-11-1 18:07:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 皮卡星 于 2011-11-4 00:01 编辑

唔,就是一个hud……
  1. class Goods_Window < Window_Base
  2.   def initialize
  3.     super(0,0,544,88)
  4.     self.opacity = 0
  5.     update
  6.   end
  7.   def update
  8.     if $game_switches[Saba::WAGoods::HIDE_SWITCH]
  9.       self.visible = false
  10.     else
  11.       self.visible = true
  12.     end
  13.     actor = $game_party.members[0]
  14.     draw_actor_hp_menu(actor, 0, 0,"HP")
  15.   end
  16.   def draw_actor_hp_menu(actor, x, y,file)
  17.     bar = Cache.system("goods_bar")   
  18.     cw = bar.width  * actor.hp / actor.maxhp
  19.     ch = bar.height
  20.     src_rect = Rect.new(0, 0, cw, ch)
  21.     self.contents.blt(x + 437, y - ch + 17, bar, src_rect)
  22.   end
  23. end
  24. class Scene_Map < Scene_Base
  25.   alias goods_hud_start start
  26.   def start
  27.     goods_hud_start
  28.     @GOODS_HUD = Goods_Window.new
  29.   end
  30.   alias goods_hud_terminate terminate
  31.   def terminate
  32.     goods_hud_terminate
  33.     @GOODS_HUD.dispose
  34.   end
  35.   alias goods_hud_update update
  36.   def update
  37.     goods_hud_update
  38.     @GOODS_HUD.update
  39.   end
  40. end
复制代码
嗯,如上……
  1. alias goods_hud_terminate terminate
  2.   def terminate
  3.     goods_hud_terminate
  4.     @GOODS_HUD.dispose
  5.   end
复制代码
请问……明明有.dispose……但是到了其他Scene还显示0 0
如下:
地图显示正常:

菜单里……还留着……囧……:


于是求解决方法

点评

顺便问下:你是元RPGmaster么?  发表于 2011-11-1 18:27

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

2
发表于 2011-11-1 18:26:43 | 只看该作者
在dispose之前把visible=false(←最简单方法)
或者可能是在转换场景后的create_menu_background里的Graphics.snap_to_bitmap的问题

点评

好吧,我试了,还在啊……囧rz  发表于 2011-11-1 18:40
(回点评:是的=A=) 话说我试试……  发表于 2011-11-1 18:29
回复

使用道具 举报

Lv2.观梦者

永遠神剣

梦石
0
星屑
334
在线时间
412 小时
注册时间
2009-8-16
帖子
1797

贵宾

3
发表于 2011-11-2 03:32:39 | 只看该作者
本帖最后由 Eienshinken 于 2011-11-2 03:33 编辑

alias goods_hud_terminate terminate
  def terminate
    @GOODS_HUD.dispose
    goods_hud_terminate
  
  end
end

点评

不知道可否用if...  发表于 2011-11-3 00:18
依旧没消失啊Orz  发表于 2011-11-2 21:26

评分

参与人数 1星屑 +20 收起 理由
Rion幻音 + 20 签名超华丽~

查看全部评分

新的UI 旧的开始
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
134 小时
注册时间
2009-3-29
帖子
470
4
发表于 2011-11-2 23:54:35 | 只看该作者
本帖最后由 黑之翅膀 于 2011-11-2 23:56 编辑

你都没有把那个HP隐藏,你只是把那个GOODS框隐藏了。(觉得是这样,因为看到P2还是看到一点点GOODS那个框的影子)

点评

(请问这跟素材有关系么=-=……可以自己随便乱涂乱画一个素材也可以啊=-=,重点是我想让那个消失,仅此而已)  发表于 2011-11-3 00:59
我是想新建一个范本在编程器里看,因为我很懒  发表于 2011-11-3 00:40
囧,素材是怎样的跟消不消失有关系么囧  发表于 2011-11-3 00:36
能把那素材发发吗?有兴趣拿回去研究...  发表于 2011-11-3 00:16
我看到GOODS和后面那个框消失里,只留下那条原来那条蓝色的叫GOODS...  发表于 2011-11-3 00:13
黑之结界勇士
回复

使用道具 举报

Lv1.梦旅人

星君

梦石
0
星屑
83
在线时间
2980 小时
注册时间
2011-10-9
帖子
2317

贵宾短篇七萝莉正太组冠军

5
 楼主| 发表于 2011-11-3 00:30:06 | 只看该作者
黑之翅膀 发表于 2011-11-2 23:54
你都没有把那个HP隐藏,你只是把那个GOODS框隐藏了。(觉得是这样,因为看到P2还是看到一点点GOODS那个框的 ...

那个……那个蓝色的条是Goods_Bar
另一个是Goods_window……
这两个是分开来的,
不过Goods_Bar到其他的界面里还显示着……
所以说才要解决啊=。=

PS:素材有什么好研究的=-=

点评

不是,我是想看看到底为什么会不隐藏,因为我没耐性对着一个页面看脚本,会眼花。  发表于 2011-11-3 00:34

回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
518 小时
注册时间
2010-6-16
帖子
1073
6
发表于 2011-11-3 09:05:16 | 只看该作者
测试了没这问题呀?

见右上角……
还有,脚本理有些不必要的东西我帮你修改了(上次教了你还看不懂吗= =)
  1. class Goods_Window < Window_Base
  2.   def initialize
  3.     super(0,0,544,88)
  4.     self.opacity = 0
  5.     update
  6.   end
  7.   def update
  8.     if $game_switches[Saba::WAGoods::HIDE_SWITCH]
  9.       self.visible = false
  10.     else
  11.       self.visible = true
  12.     end
  13.     actor = $game_party.members[0]
  14.     self.contents.clear
  15.     draw_actor_hp_menu(actor, 0, 0)
  16.   end
  17.   def draw_actor_hp_menu(actor, x, y)
  18.     bar = Cache.system("goods_bar")   
  19.     cw = bar.width  * actor.hp / actor.maxhp
  20.     ch = bar.height
  21.     src_rect = Rect.new(0, 0, cw, ch)
  22.     self.contents.blt(x + 437, y - ch + 17, bar, src_rect)
  23.   end
  24. end
  25. class Scene_Map < Scene_Base
  26.   alias goods_hud_start start
  27.   def start
  28.     goods_hud_start
  29.     @GOODS_HUD = Goods_Window.new
  30.   end
  31.   alias goods_hud_terminate terminate
  32.   def terminate
  33.     goods_hud_terminate
  34.     @GOODS_HUD.dispose
  35.   end
  36.   alias goods_hud_update update
  37.   def update
  38.     goods_hud_update
  39.     @GOODS_HUD.update
  40.   end
  41. end
复制代码

点评

其实发了此贴以后我自己做了修改……跟前辈的一样,就是没有self.contents.clear这句…… 于是前辈的也行不通……果然是冲突问题么……放弃算了……  发表于 2011-11-3 23:53
回复

使用道具 举报

Lv2.观梦者

永遠神剣

梦石
0
星屑
334
在线时间
412 小时
注册时间
2009-8-16
帖子
1797

贵宾

7
发表于 2011-11-3 15:57:23 | 只看该作者
没有工程 只能开了个默认的放个窗口实验.实在不能在MAP场景里去除的话你就每个场景判断一下 如果那个条不是NIL的话 就释放吧
新的UI 旧的开始
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

8
发表于 2011-11-3 17:46:25 | 只看该作者
本帖最后由 feizhaodan 于 2011-11-3 17:59 编辑

试试在dispose之前加个Cache.clear。
回复

使用道具 举报

Lv1.梦旅人

星君

梦石
0
星屑
83
在线时间
2980 小时
注册时间
2011-10-9
帖子
2317

贵宾短篇七萝莉正太组冠军

9
 楼主| 发表于 2011-11-4 00:00:32 | 只看该作者
于是我还是放弃这系统算了
感谢各位

回复

使用道具 举报

Lv3.寻梦者

酱油的

梦石
0
星屑
1265
在线时间
2161 小时
注册时间
2007-12-22
帖子
3271

贵宾

10
发表于 2011-11-4 01:57:27 | 只看该作者
重定義了吧=.=

点评

果然是这样啊Orz  发表于 2011-11-4 02:02
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-25 12:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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