Project1

标题: 脚本显示图片后不知道如何消失? [打印本页]

作者: 萧萧风色    时间: 2012-11-3 10:28
标题: 脚本显示图片后不知道如何消失?
我在站里搜索后已经知道可以用dispose or visible 可以使图片永久或暂时性消失,
我是在Window_Status中插入如下脚本
@actor_back = Sprite.new
@actor_back.bitmap = Bitmap.new("Graphics/Pictures/测试.png")
@actor_back.x = 0
@actor_back.y = 0
@actor_back.z = 1

图片可以正常显示,但是当我按esc回到主菜单时(我用的还是公共事件自制菜单= =),图片不能消失
我不知道应该把消失图片的语句插入到哪里,Window_Status中貌似都是描绘窗口及内容的,试着在Scene_Status的50行下插入@actor_back.bitmap.dispose,但是不行==(貌似是因为@是局部变量的原因?

窝是脚本盲,,请大家帮忙看看
作者: 亿万星辰    时间: 2012-11-3 10:56
你得在当前窗口dispose的时候,把这个你新家的sprite也dispose掉
因为Window_Status里的dispose方法是直接继承了父类Window_Base的dispose方法,所以在Window_Status里你要重定义一下dispose方法
  1. def dispose
  2.   super
  3.   @actor_back.bitmap.dispose
  4.   @actor_back.dispose
  5. end
复制代码

作者: 萧萧风色    时间: 2012-11-3 11:17
亿万星辰 发表于 2012-11-3 10:56
你得在当前窗口dispose的时候,把这个你新家的sprite也dispose掉
因为Window_Status里的dispose方法是直接 ...

这个。。应该把这句脚本具体插入到Window_Status中的第几行呢?还有显示图片和消失图片都应该具体插入到哪个脚本中的第几行呢?【你怎么这么多事?】
原谅我真的是脚本盲,就是想要一个进入状态窗口显示出一个图片,然后esc回到菜单图片消失,,就这样==
另外膜拜大前辈~
作者: zxcgood2009    时间: 2012-11-3 14:19
应该不是在Window_Status里而是在Scene_Status里。
@actor_back = Sprite.new
@actor_back.bitmap = Bitmap.new("Graphics/Pictures/测试.png")
@actor_back.x = 0
@actor_back.y = 0
@actor_back.z = 1
这一段放在

  def main



    # 执行过渡
    Graphics.transition

之间
@actor_back.bitmap.dispose
  @actor_back.dispose
放在
    # 准备过渡
    Graphics.freeze
的下面
  end
的上面,

  def update
这是刷新,如果你的窗口里不仅仅是图片的话,在这下面添加一个
@actor_back.update

作者: 萧萧风色    时间: 2012-11-3 14:57
zxcgood2009 发表于 2012-11-3 14:19
应该不是在Window_Status里而是在Scene_Status里。
@actor_back = Sprite.new
@actor_back.bitmap = Bitmap ...

十分感谢~测试无误~~

话说怎么才能认可你的答案,,我怎么找不到认可答案的按钮==
作者: zxcgood2009    时间: 2012-11-3 15:04
找版主。
作者: 亿万星辰    时间: 2012-11-3 18:09
@萧萧风色  @zxcgood2009
其实我建议还是放在Window_Status里,因为显然这个是个角色的背景图,可以考虑通过Window_Status的initialize方法传递的角色相关参数直接显示对应的角色背景图,如果放到Scene里,那么每次PgupPgdn操作都要设计到这个Sprite的刷新,你说是不是呢?
作者: 萧萧风色    时间: 2012-11-3 21:09
@亿万星辰前辈说得肯定没错,十分感谢~虽然说我是脚本盲,,看不大懂,但我会好好斟酌一下的~~




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