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

Project1

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

[已经解决] 想在标题里增加一栏“帮助”,打开后显示图片

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2016-7-16
帖子
13
跳转到指定楼层
1
发表于 2016-7-16 15:23:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本人新手,脚本基本不会
之前在视频“脚本不是高手的专利”里依葫芦画瓢的改了一下Scene_Title里的脚本(如下图)


测试游戏,打开“帮助”栏会显示错误(如下图)


如果把
    # 释放命令窗口
    @command_window.dispose
    # 释放标题图形
    @sprite.bitmap.dispose
    @sprite.dispose
这几行删掉,测试时打开“帮助”栏,不会提示错误,只会有音效,也不会产生其他任何效果

请问windows_base里的脚本该怎么修改?或者是有其他的解决办法吗?

看到有设置成 进入游戏之后使用事件 的,但是不知道怎么设置之后是黑屏,设置的事件也都没有发生(禁止呼出菜单、显示图片),应该是Scene_Title的脚本写错了……

已经困扰两天了,求详解

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

2
发表于 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内部进行操作,未测试。有问题请回帖说明。
回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
3
发表于 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 触瞎

查看全部评分

本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2016-7-16
帖子
13
4
 楼主| 发表于 2016-7-16 16:28:11 | 只看该作者
英顺的马甲 发表于 2016-7-16 16:10
别在你的说明指令里把所有东西都释放啊

要疯了……我不会啊……本来还能显示图片,但是标题栏和图片在一块重叠着我就想着把东西都释放掉……
现在是

这么个情况……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2016-7-16
帖子
13
5
 楼主| 发表于 2016-7-16 16:46:12 | 只看该作者
RyanBern 发表于 2016-7-16 16:04
@about 防论坛解析错误
首先,千万不要加这几句
# 释放命令窗口

(求解救)
我试着弄了一下,现在是这样的……


请再看一下我脚本的问题


回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

6
发表于 2016-7-16 16:55:31 | 只看该作者
王小錵 发表于 2016-7-16 16:46
(求解救)
我试着弄了一下,现在是这样的……

出现了什么问题?是效果没出来还是?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2016-7-16
帖子
13
7
 楼主| 发表于 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
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2016-7-16
帖子
13
8
 楼主| 发表于 2016-7-16 17:27:53 | 只看该作者
RyanBern 发表于 2016-7-16 16:55
出现了什么问题?是效果没出来还是?

解决了!谢谢大神~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 20:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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