Project1

标题: 等待几秒用脚本代码怎么编写 [打印本页]

作者: 黑米馒头    时间: 2014-9-3 15:56
标题: 等待几秒用脚本代码怎么编写
在脚本里加入了代码,想知道如何设置30秒后隐藏窗口应该怎么设置     

       @You_window.visible = true
       中间间隔30秒
       @You_window.visible = false
作者: 无双sxa    时间: 2014-9-3 17:36
本帖最后由 无双sxa 于 2014-9-3 17:37 编辑

RUBY 代码复制
  1. @wait_count = 1200



记得XP是20帧一秒来着。

不过默认系统中是这么写的(用事件设定等待时间时)

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 等待
  3.   #--------------------------------------------------------------------------
  4.   def command_106
  5.     # 设置等待计数
  6.     @wait_count = @parameters[0] * 2
  7.     # 继续
  8.     return true
  9.   end


测试游戏时,
按F2可以查看帧率
默认平滑模式是打开的,运行时帧率就是40帧每秒,
按F1可以选择关掉平滑模式,运行时帧率就是20帧每秒,


直接用事件设定的时候,帧数乘了一个2,因为脚本刷新速率是40帧每秒 。

简单说事件20帧每秒,脚本40帧每秒。

所以直接用脚本代码的时候

30秒应该换算成30×20×2=1200帧

RUBY 代码复制
  1. @wait_count = 1200




作者: 传灭虫    时间: 2014-9-3 17:45
首先脚本不像事件,你如果只是两行脚本想停整个游戏会卡住30秒.
所以最好这么做
class A
  #初始化略
  def show_window
     @You_window.visible = true
     @Time = Time.now
  end
  def update
     @You_window.visible = true if Time.now - @time >= 30
  end
然后在scene类里面调用刷新(update)即可


窝只给你提供思路,不负责解决你的脚本,禁止向窝追问,不服扔球
作者: 紫英晓狼1130    时间: 2014-9-3 22:03
先初始化,在update里如果该值如果大于0,一直减1,如果等于0,窗口消失
通俗的不能再通俗了呢
作者: 芯☆淡茹水    时间: 2014-9-4 19:49
本帖最后由 芯☆淡茹水 于 2014-9-4 20:19 编辑
  1. class You_window
  2.   def initialize
  3.     super(x, y, w, h)
  4.     self.contents = Bitmap.new(width - 32, height - 32)
  5.     @old_sec = 0   #<-- 加一个变量记录。
  6.     self.visible = false
  7.   end
  8.   #--------------------------------------------------------------------------
  9.   def refresh
  10.     .
  11.     .
  12.     .
  13.     .
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # 加一个显示窗口的方法。
  17.   def show
  18.     refresh
  19.     @old_sec = Graphics.frame_count / Graphics.frame_rate
  20.     self.visible = true
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # 加刷新方法,当窗口显示时,30秒后自动隐藏。
  24.   def update
  25.     super
  26.     if self.visible
  27.       if Graphics.frame_count / Graphics.frame_rate -  @old_sec >= 30
  28.         self.visible = false
  29.       end
  30.     end
  31.   end
  32. end
  33. # 要显示窗口直接:@you_window.show  并且同时刷新内容。
复制代码
PS:貌似看见LZ做的游戏很有感觉。希望做出来时 @ 本人,本人下载玩玩。
作者: 黑米馒头    时间: 2014-9-4 21:57
芯☆淡茹水 发表于 2014-9-4 19:49
PS:貌似看见LZ做的游戏很有感觉。希望做出来时 @ 本人,本人下载玩玩。

帮看下这个能搞嘛,我知道思路,但是脚本不太懂。
https://rpg.blue/thread-370987-1-1.html




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