Project1

标题: 如何作等待? [打印本页]

作者: 迅雷進    时间: 2008-4-11 02:21
标题: 如何作等待?
不是利用菜单在游戏中等待,
而是在脚本里调用等待,
也就是说我想要利用脚本来控制某窗口作等待的功能。
请前辈们指教~ [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 八云紫    时间: 2008-4-11 02:24
wait(帧数)   是这个不?
作者: 3535    时间: 2008-4-11 02:44
def wait(n)
loop do
  if n > 0
   n -= 1
   return
  end
end
end
作者: link006007    时间: 2008-4-11 02:50
以下引用3535于2008-4-10 18:44:29的发言:

def wait(n)
loop do
if n > 0
  n -= 1
  return
end
end
end

这个函数是你自己写的吗?         不要随便贴出来啊
作者: 3535    时间: 2008-4-11 02:53
以下引用link006007于2008-4-10 18:50:04的发言:


以下引用3535于2008-4-10 18:44:29的发言:

def wait(n)
loop do
if n > 0
n -= 1
return
end
end
end


这个函数是你自己写的吗?         不要随便贴出来啊

看Interpreter做的,沒測試
作者: 迅雷進    时间: 2008-4-11 04:02
以下引用3535于2008-4-10 18:44:29的发言:

def wait(n)
loop do
if n > 0
  n -= 1
  return
end
end
end

抱歉前辈,
这个无法使用……
作者: 3535    时间: 2008-4-11 04:08
def wait(n)
loop do
if n > 0
n -= 1
else
break
end
end
end



作者: 9244579    时间: 2008-4-11 04:20
脚本等待
可以用
@wait_cound = X ?
窗口等待?具体什么效果啊?
作者: 9244579    时间: 2008-4-11 04:38
把这个脚本
  1.   if @wait_count != nil
  2.   @wait_count -= 1
  3.   if @wait_count == 0
  4.   @wait_count = nil
  5.   end
  6.   return
  7. end
复制代码

放到窗口的refresh下
然后用
@wait_count = x
来等待
举个例子 金钱的刷新我将等待40刷一下
  1. #==============================================================================
  2. # ■ Window_Gold
  3. #------------------------------------------------------------------------------
  4. #  显示金钱的窗口。
  5. #==============================================================================

  6. class Window_Gold < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化窗口
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 0, 160, 64)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.     refresh
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 刷新
  17.   #--------------------------------------------------------------------------
  18.   def refresh
  19.       if @wait_count != nil
  20.   @wait_count -= 1
  21.   if @wait_count == 0
  22.   @wait_count = nil
  23.   end
  24.   return
  25. end
  26. @wait_count = 40
  27.     self.contents.clear
  28.     cx = contents.text_size($data_system.words.gold).width
  29.     self.contents.font.color = normal_color
  30.     self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2)
  31.     self.contents.font.color = system_color
  32.     self.contents.draw_text(124-cx, 0, cx, 32, $data_system.words.gold, 2)
  33.   end
  34. end
复制代码

[LINE]1,#dddddd[/LINE]版主对此帖的评论:『update才是每祯调用的~』,积分『-0』。这些被扣积分的一半会用于对本帖正确答案的悬赏。 [LINE]1,#dddddd[/LINE]版主对此帖的评论:『update才是每祯调用的~』,积分『-0』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者: 迅雷進    时间: 2008-4-11 04:41
以下引用9244579于2008-4-10 20:20:09的发言:

脚本等待
可以用
@wait_cound = X ?
窗口等待?具体什么效果啊?


[本贴由作者于 2008-4-10 20:21:40 最后编辑]

当 Input.trigger?(Input::C) 启动的时候,
让窗口需等待大概 50 帧左右再退出窗口。
作者: 禾西    时间: 2008-4-11 04:53
def update....
  .....
  if Input.trigger?(Input::C)
    @wait = 50
    wait_for_me
  end
end

def wait_for_me
  loop do
    @wait -= 1
    break if @wait <=0
  end
  $scene =   if @wait <= 0
end
作者: 3535    时间: 2008-4-11 04:59
def wait(n)
loop do
if n > 0
n -= 1
else
break
end
end
end
















if Input.trigger?(Input::C)
wait(50)
xxx.dispose
end





作者: 美兽    时间: 2008-4-11 05:16
if Input.trigger?(Input::C)
    sleep(1.25)
    #OOXX
end
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: link006007    时间: 2008-4-11 06:09
只要期望的代码没执行  就可以看成一种等待

通用但没效率的方法 - -b
class IdleCheck
    attr_accessor : bResReturned
    attr_accessor : ulWaitCount  

    def IsIdle
        return @bResReturned && (0 >= @ulWaitCount)
    end
    def Wait
        @ulWaitCount -= 1
    end
end


class Wnd
  def initialize
      @idleCheck = IdleCheck.new
  end
  def update
      if @idleCheck.IsIdle()
          ... ...
      else
          @idleCheck.Wait()
          ... ...
      end
  end
end
作者: 水迭澜    时间: 2008-4-11 06:26
直接Graphics.update重复若干次不行灭……
详细可以参考得失物品提示脚本设置的等待方式
作者: 迅雷進    时间: 2008-4-11 09:07
可以了~
感谢前辈们的指教~




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