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

Project1

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

植物生长问题

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-5-30
帖子
120
跳转到指定楼层
1
发表于 2008-10-4 20:54:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-5-30
帖子
120
2
 楼主| 发表于 2008-10-4 21:12:53 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

穿越一季:朔

梦石
0
星屑
50
在线时间
333 小时
注册时间
2007-4-11
帖子
5369

贵宾

3
发表于 2008-10-4 21:45:22 | 只看该作者
可以使用黑屏效果开启成长[偷偷打开记时器]..我试了下.目前不能满足你的条件
6R复活?别扯淡了.

柳柳一旦接手66RPG,我果断呵呵啊。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-9-12
帖子
953
4
发表于 2008-10-4 21:48:41 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
2 小时
注册时间
2006-8-29
帖子
673
5
发表于 2008-10-4 21:50:12 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-9-12
帖子
953
6
发表于 2008-10-4 21:51:21 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
7 小时
注册时间
2008-9-20
帖子
102
7
发表于 2008-10-4 21:51:45 | 只看该作者
可以用高精度计时器。一定可以满足你的要求的!
记得认可我的答案啊!


# ------------------------------------------------------------------------
# 高精度计时器 by FantasyDR
# ------------------------------------------------------------------------
# E-mail: [email protected]
# ------------------------------------------------------------------------
# 2005.10.18
# ------------------------------------------------------------------------
# 该类已经被定义为全局变量 $sys_timer
# 如果只需要精确到毫秒,请设置初始化参数为true
# decimal属性设置返回时间值的小数位数。
# ------------------------------------------------------------------------
# 下面是一些有用的方法列表,调用时写:$sys_timer.方法名
# 例如 $sys_timer.clear()
# ------------------------------------------------------------------------
# clear() :计时器清零
#   now() :获取当前经过的时间,单位毫秒
# now_s() :获取当前经过的时间,单位秒
# ------------------------------------------------------------------------

class SystemTimer

  attr_accessor:decimal  #小数位数设定,默认为3
  
  def initialize(use_GetTime=false)
    # 初始化,根据系统选择不同精度计时器
    @qpFrequency = Win32API.new("kernel32","QueryPerformanceFrequency",'p','L')
    @qpCounter = Win32API.new("kernel32","QueryPerformanceCounter",'p','L')
    @tGetTime = Win32API.new("winmm","timeGetTime",'','L')
   
    @decimal=3
    @perf_cnt=" " * 8
    @time_start=" " * 8
    @time_now=" " * 8
   
    result = @qpFrequency.call(@perf_cnt)
   
    if use_GetTime
      result = 0
    end
   
    if result!=0
      @perf_flag=true
    else
      @perf_flag=false
      @perf_cnt=[1000,0].pack('LL')
    end
   
    #设置时间比例因数
    @time_scale=@perf_cnt.unpack('LL')
    @time_scale[0] /= 1000.0
    @time_scale[1] /= 1000.0
   
    #起始时间清零
    self.clear()
  end
  
  #-=====================-#
  # 计时器清零
  #-=====================-#
  def clear()
    if @perf_flag
      @qpCounter.call(@time_start)
    else
      @time_start=[@tGetTime.call(),0].pack('LL')
    end
  end
  
  #-==============================-#
  # 获取当前经过的时间,单位毫秒
  #-==============================-#
  def now()
    now_time = 0.0e1
    now_time += self.timer() - self.start()
    now_time /= self.scale()
    return self.debug(now_time)
  end
  
  #-==============================-#
  # 获取当前经过的时间,单位秒
  #-==============================-#
  def now_s()
    now_time = 0.0e1
    now_time += self.timer() - self.start()
    now_time /= (self.scale()*1000)   
    return self.debug(now_time)
  end
  
  #-==============================-#
  # 帧错...
  #-==============================-#
  def debug(now_time)
    if @decimal>0
     now_time = (now_time * (10**@decimal)).floor/(10.0**@decimal)
    else
     now_time = now_time.floor
    end
    return now_time
   
    #以下用于debug模式
    if now_time < 0
      p "Timer Wrong!! Clear...",now_time,        @perf_flag,@qpCounter,@tGetTime,
        @time_now.unpack('LL')[0],@time_now.unpack('LL')[1],
        @time_start.unpack('LL')[0],@time_start.unpack('LL')[1]
      self.clear()
      return 0.0
    else
      return now_time
    end
  end
  
  #-=====================-#
  # 获取时间比例因数
  #-=====================-#
  def scale()
    return @time_scale[0]+           @time_scale[1]*0xffffffff
  end
  
  #-=====================-#
  # 获取起始滴答数
  #-=====================-#
  def start()
    return @time_start.unpack('LL')[0]+           @time_start.unpack('LL')[1]*0xffffffff
  end
  
  #-=====================-#
  # 获取当前的嘀哒数
  #-=====================-#
  def timer()
    if @perf_flag
      @qpCounter.call(@time_now)
    else
      @time_now=[@tGetTime.call(),0].pack('LL')
    end
    return @time_now.unpack('LL')[0]+           @time_now.unpack('LL')[1]*0xffffffff
  end
end

#-------------------------------------#
# 初始化自身成一个全局变量
#-------------------------------------#
$sys_timer=SystemTimer.new()
#-------------------------------------#
http://blog.163.com/dengbo92@126/
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-5-30
帖子
120
8
 楼主| 发表于 2008-10-4 21:55:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-5-30
帖子
120
9
 楼主| 发表于 2008-10-4 21:57:47 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
7 小时
注册时间
2008-9-20
帖子
102
10
发表于 2008-10-4 21:57:48 | 只看该作者
这个说的很清楚啊。在事件里写脚本就可以了。

下面是一些有用的方法列表,调用时写:$sys_timer.方法名
# 例如 $sys_timer.clear()
# ------------------------------------------------------------------------
# clear() :计时器清零
#   now() :获取当前经过的时间,单位毫秒
# now_s() :获取当前经过的时间,单位秒

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
http://blog.163.com/dengbo92@126/
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 17:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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