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

Project1

 找回密码
 注册会员
搜索

想在标题里增加一栏“帮助”,打开后显示图片

查看数: 1975 | 评论数: 7 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-7-16 15:23

正文摘要:

本人新手,脚本基本不会 之前在视频“脚本不是高手的专利”里依葫芦画瓢的改了一下Scene_Title里的脚本(如下图) 如果把     # 释放命令窗口     @command_window.dispose     # ...

回复

王小錵 发表于 2016-7-16 17:27:53
RyanBern 发表于 2016-7-16 16:55
出现了什么问题?是效果没出来还是?

解决了!谢谢大神~
王小錵 发表于 2016-7-16 17:07:13
RyanBern 发表于 2016-7-16 16:55
出现了什么问题?是效果没出来还是?

就是想要这种效果:帮助图片显示的时候暂时让标题框消失
现在还没做帮助的图片,但是里面肯定是有不少字的……标题框碍事

点评

或者用@title_about.z = 999  发表于 2016-7-16 20:40
看我二楼的修改,后面两段代码各加了一句用于隐藏/显示窗口  发表于 2016-7-16 17:18
RyanBern 发表于 2016-7-16 16:55:31
王小錵 发表于 2016-7-16 16:46
(求解救)
我试着弄了一下,现在是这样的……

出现了什么问题?是效果没出来还是?
英顺的马甲 发表于 2016-7-16 16:10:43
  1. def command_about
  2.         $game_system.se_play($data_system.decision_se)
  3.         about_sprite = Sprite.new
  4.         about_sprite.bitmap = RPG::Cache.title('001about')
  5.         Graphics.update while !Input.trigger(Input::C)
  6.         $game_system.se_play($data_system.decision_se)
  7.         about_sprite.bitmap
  8.         about_sprite.dispose
  9. end
复制代码

别在你的说明指令里把所有东西都释放啊

点评

Input.trigger?  发表于 2016-7-16 16:56

评分

参与人数 1星屑 +90 收起 理由
RyanBern + 90 触瞎

查看全部评分

RyanBern 发表于 2016-7-16 16:04:38
本帖最后由 RyanBern 于 2016-7-16 17:17 编辑

@about 防论坛解析错误
首先,千万不要加这几句
RUBY 代码复制
  1. # 释放命令窗口
  2.     @command_window.dispose
  3.     # 释放标题图形
  4.     @sprite.bitmap.dispose
  5.     @sprite.dispose

因为这几句的含义是释放命令窗口和标题,这些对象没有用完是千万不能释放的,并且你在update里面也对命令窗口进行刷新操作。一个窗口如果被释放后是不能刷新的。

正确的做法是改Scene_Title的三个地方,第一个就是update方法
RUBY 代码复制
  1. def update
  2.     # Update command window
  3.     @command_window.update
  4.     if @command_window.active
  5.       update_command
  6.       return
  7.     end
  8.     if @about
  9.       update_about
  10.       return
  11.     end
  12.   end

这里的update需要判断刷新的内容,然后分别执行刷新的操作。

第二个地方就是要新加入这个方法:
RUBY 代码复制
  1. def update_command
  2.     # If C button was pressed
  3.     if Input.trigger?(Input::C)
  4.       # Branch by command window cursor position
  5.       case @command_window.index
  6.       when 0  # New game
  7.         command_new_game
  8.       when 1  # Continue
  9.         command_continue
  10.       when 2  # Shutdown
  11.         command_shutdown
  12.       end
  13.     end
  14.   end

这个方法的作用其实是将原来的update拆开,这样方便代码的管理。在这里你需要把调用command_about的命令加在合适的位置上。

最后一个地方是你的command_about和新加入的update_about。首先你原来的方式有问题在于你生成完标题图形后马上就执行了if Input.trigger?,这样的效果就是你生成的图片在一瞬间被释放了,因此你就看不到效果而只能听见音效。正确的做法是将command_about写成这样:
RUBY 代码复制
  1. def command_about
  2.   $game_system.se_play($data_system.decision_se)
  3.   @title_about = Sprite.new
  4.   @title_about.bitmap = RPG::Cache.title("001about")
  5.   # 请注意这两句,这是用来控制update方法该刷新哪个对象
  6.   @command_window.active = false
  7.   @command_window.visible = false
  8.   @about = true
  9. end

然后追加update_about定义:
RUBY 代码复制
  1. def update_about
  2.   if Input.trigger?(Input::C)
  3.     $game_system.se_play($data_system.decision_se)
  4.     @title_about.bitmap.dispose
  5.     @title_about.dispose
  6.     # 同样注意这两句的控制
  7.     @command_window.active = true
  8.     @command_window.visible = true
  9.     @about = false
  10.     return
  11.   end
  12. end

以上代码都是在Scene_Title内部进行操作,未测试。有问题请回帖说明。
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-30 10:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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