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

Project1

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

[已经解决] 请教制作一个快速读档快捷键的思路

[复制链接]

Lv4.逐梦者

梦石
0
星屑
9128
在线时间
463 小时
注册时间
2015-5-8
帖子
865
跳转到指定楼层
1
发表于 2020-5-6 06:11:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
咱想做一个快速读档快捷键,处在游戏的任意画面(比如Scene_Map, Scene_Battle,Scene_Skill画面)时按下这个快速读档快捷键(比如F5)都会自动读取Save0存档
(效果如同默认设置的F12快速返回标题画面),该怎么搞呢?总不能每个Scene_XXX都做一个if Input.trigger?(Input::F5) 巴拉巴拉.. end吧。。。

还请大家指点一二,不胜感激!



头像被屏蔽

Lv4.逐梦者 (禁止发言)

梦石
0
星屑
5701
在线时间
922 小时
注册时间
2013-8-29
帖子
1468
2
发表于 2020-5-6 06:21:50 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
11199
在线时间
607 小时
注册时间
2016-8-25
帖子
1393

R考场第七期纪念奖

3
发表于 2020-5-6 08:14:27 | 只看该作者
直接全键盘插件,然后公共事件里设置分歧
按下按键,执行对应技能的事件

评分

参与人数 1+1 收起 理由
taeckle + 1 受教了!

查看全部评分

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv4.逐梦者 (禁止发言)

梦石
0
星屑
5701
在线时间
922 小时
注册时间
2013-8-29
帖子
1468
4
发表于 2020-5-6 08:56:28 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

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

开拓者贵宾剧作品鉴家

5
发表于 2020-5-6 09:48:26 | 只看该作者
本帖最后由 RyanBern 于 2020-5-6 09:51 编辑

你需要在一个在任何情况下都在刷新的模块上插入你的判断。这样的模块至少有两个:Graphics 和 Input。

RUBY 代码复制
  1. module Input
  2.   # 打开单例类(singleton class)
  3.   class << self
  4.     # 使用 alias 重命名模块方法(实际上是重命名了 Input.update)
  5.     alias rb_update_20200506 update
  6.     # 插入新定义
  7.     def update
  8.       rb_update_20200506
  9.       # 比对:Input.trigger(Input::A),由于是在 Input 模块里面,可以简化
  10.       if self.trigger?(A)
  11.         # 执行你需要的操作
  12.         p "A"
  13.       end
  14.     end
  15.   end
  16. end


上面代码我已经添加了注释,思路就是将读档的代码注入到 Input.update 方法里。在这个框架下你自己完成读档的命令吧。

评分

参与人数 1+1 收起 理由
taeckle + 1 大神威武,意定乾坤!

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9128
在线时间
463 小时
注册时间
2015-5-8
帖子
865
6
 楼主| 发表于 2020-5-7 06:32:11 | 只看该作者
RyanBern 发表于 2020-5-6 09:48
你需要在一个在任何情况下都在刷新的模块上插入你的判断。这样的模块至少有两个:Graphics 和 Input。

mod ...

多谢大神指点,我还想问下既然大神你说这样的模块至少有Graphics 和 Input两个,
那模块Graphics又该怎么搞呢?
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

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

开拓者贵宾剧作品鉴家

7
发表于 2020-5-7 09:38:27 | 只看该作者
taeckle 发表于 2020-5-7 06:32
多谢大神指点,我还想问下既然大神你说这样的模块至少有Graphics 和 Input两个,
那模块Graphics又该怎么 ...

RUBY 代码复制
  1. module Graphics
  2.   # 打开单例类(singleton class)
  3.   class << self
  4.     # 使用 alias 重命名模块方法(实际上是重命名了 Graphics.update)
  5.     alias rb_update_20200506 update
  6.     # 插入新定义
  7.     def update
  8.       rb_update_20200506
  9.       # 由于不在 Input 模块里面,必须照抄原来的写法
  10.       if Input.trigger?(Input::A)
  11.         # 执行你需要的操作
  12.         p "A"
  13.       end
  14.     end
  15.   end
  16. end


把 Input 全换成 Graphics,但对按钮的判定必须显式指明是 Input 模块(因为此时不在 Input 模块内部)。
个人建议还是写在 Input 模块中。避免奇奇怪怪的 bug。

评分

参与人数 1+1 收起 理由
taeckle + 1 好的,受教了!

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9128
在线时间
463 小时
注册时间
2015-5-8
帖子
865
8
 楼主| 发表于 2020-5-7 19:10:31 | 只看该作者
RyanBern 发表于 2020-5-7 09:38
module Graphics
  # 打开单例类(singleton class)
  class

好的,大神我还有个地方不太明白,那个在def update 下面的 "rb_update_20200506"是必须要写的吗?
如果不写可以吗?咱只想在if Input.trigger?(Input::A) end 里面搞我想出现的快速读档可以吗?

点评

好的,大神威武!  发表于 2020-5-8 02:57
楼下已经说的比较清楚了。如果还不是很熟悉 alias 是在干嘛的话可以去网上查一下,有好些这方面的教程。  发表于 2020-5-7 20:43
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv4.逐梦者 (禁止发言)

梦石
0
星屑
5701
在线时间
922 小时
注册时间
2013-8-29
帖子
1468
9
发表于 2020-5-7 19:25:30 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-20 11:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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