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

Project1

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

快进对话

[复制链接]

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

跳转到指定楼层
1
发表于 2014-9-21 20:09:31 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 taroxd 于 2015-2-9 15:50 编辑

RUBY 代码复制
  1. #----------------------------------------------------------------------------
  2. # ● 快进对话
  3. #----------------------------------------------------------------------------
  4.  
  5. module Taroxd::FastMessage
  6.  
  7.   KEY = :CTRL      # 按此键快进对话
  8.   ENABLED = $TEST  # true: 启用; $TEST: 仅测试模式; false: 不启用
  9.   SPEED = 3        # 文字快进速度。可以为小数,但不能小于 1。
  10.  
  11.   @counter = 0
  12.  
  13.   # 是否在输出一个字符后等待。show_fast: 是否快进
  14.   def self.wait?(show_fast)
  15.     !show_fast && !Input.press?(KEY) || (@counter += 1) % SPEED < 1
  16.   end
  17.  
  18.   # 已经进入等待输入的情况下,是否继续等待输入
  19.   def self.keep_pause?
  20.     [:B, :C, KEY].none? { |k| Input.trigger?(k) }
  21.   end
  22.  
  23.   # 尚未进入等待输入的情况下,是否跳过等待输入
  24.   def self.skip_pause?
  25.     Input.press?(KEY)
  26.   end
  27. end
  28.  
  29. class Window_Message < Window_Base
  30.  
  31.   FastMessage = Taroxd::FastMessage
  32.  
  33.   def input_pause
  34.     return if FastMessage.skip_pause?
  35.     self.pause = true
  36.     wait(10)
  37.     Fiber.yield while FastMessage.keep_pause?
  38.     Input.update
  39.     self.pause = false
  40.   end
  41.  
  42.   def wait_for_one_character
  43.     update_show_fast
  44.     Fiber.yield if FastMessage.wait?(@show_fast || @line_show_fast)
  45.   end
  46. end if Taroxd::FastMessage::ENABLED

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

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

GMT+8, 2024-11-22 09:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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