游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: gpra8764

求助:VB中怎样同时处理两条语句?

[复制链接]

73

主题

612

帖子

618

积分

高级会员

Rank: 4

积分
618
发表于 2005-8-13 08:32:00 | 显示全部楼层

Re:求助:VB中怎样同时处理两条语句?

使用Timer控件导致程序有不确定性的因素,当程序较大或系统资源大量占用时,Timer控件的执行时间就不准确。在我的程序中不敢用任何的Timer控件,一般用API  GetTickCount获取时间延迟来决定不同功能的执行时间。
如果你做的游戏挺大,比如需要10个以上的Timer控件,你就应该考虑一下Timer控件执行时间不不准确导致的问题。

130

主题

2714

帖子

2714

积分

金牌会员

Rank: 6Rank: 6

积分
2714
发表于 2005-8-13 09:21:00 | 显示全部楼层

Re:求助:VB中怎样同时处理两条语句?

我看过一些国外游戏写VB的例子都是用很多TIMER控件的, 我说了我不是用它来控制时间的.

73

主题

612

帖子

618

积分

高级会员

Rank: 4

积分
618
发表于 2005-8-13 10:06:00 | 显示全部楼层

Re:求助:VB中怎样同时处理两条语句?

要知道timer的特性后才能在使用后不至于达不到预期效果

14

主题

318

帖子

321

积分

中级会员

Rank: 3Rank: 3

积分
321
发表于 2005-8-13 12:53:00 | 显示全部楼层

Re:求助:VB中怎样同时处理两条语句?

真正能同时处理两条语句的只有多线程。

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2005-8-13 13:14:00 | 显示全部楼层

Re:求助:VB中怎样同时处理两条语句?

你应该放弃在游戏中使用Timer。当你游戏有了规模你就会明白。

你的游戏中的那些Timer钟的作用完全可以由TimeGetTime加少量代码完成,同样可以很方便的开关控制,而且比Timer稳定得多。

尤其是你的主循环写在一个Interval=10的Timer里,你可以试试,在不同系统和不同资源占用情况下速度根本不一样!Timer的Interval不敢设定小于50。

你能告诉我你的游戏大体结构吗?

4

主题

106

帖子

106

积分

注册会员

Rank: 2

积分
106
发表于 2005-8-13 13:59:00 | 显示全部楼层

Re: 求助:VB中怎样同时处理两条语句?

?不是非常清楚完整...要完成之後看?才知道Timer的用途 0.0
?之如果是要控制?r?那?然不要使用 Timer ~
但是如果?有?e的用途或?可以使用它吧  [em24]

130

主题

2714

帖子

2714

积分

金牌会员

Rank: 6Rank: 6

积分
2714
发表于 2005-8-13 14:38:00 | 显示全部楼层

Re: Re:求助:VB中怎样同时处理两条语句?

sandy_zc_1: Re:求助:VB中怎样同时处理两条语句?

你应该放弃在游戏中使用Timer。当你游戏有了规模你就会明白。

你的游戏中的那些Timer钟的作用完全可以由...


我当然知道timer.Interval=10和50的区别,我可以用1,但在我测试的电脑上1和10区别不是很大,但10和50的区别就有点大,就是我的游戏里主程序TIMER可以用1,因为考虑每个人的电脑和配置可能有不同,经过测试得出10比较理想,如果你的电脑是P4-3.0那用20理想。

我的设计思想是:
(1)发射炮弹子弹要显示出动画效果必须把程序放在一个独立的TIMER里,其实是起延时作用,这样它的速度要比主程序慢一点,我不是要那个时间,我要的是两个TIMER之间的时间差。
(2)地图上用一个钟,那是因为地图是在后台操作的,那么在没有画面显示和有画面显示的情况下,举例:A=A+1:B=B+1:BITBLT A,B......
后台那个没有画面显示的钟肯定要走的快一点,我计算过要快10倍,就是没有用BITBLT A,B...... 而单独计算A,B的位置,所以地图上的钟用100,是主程序钟的10倍,我要的不是准确时间,要的是前景和背景同时运行要同步。如果地图上的TIMER用10,那等你切换到地图的时候地图上的坦克早跑老远了......
我的程序目前很精简,还是我那套老的DOS写程序方法,多数用纯VB6命令,少量API,我觉得如果你的程序写的好,VB6里的命令已经够用了。
我那个失落的玉玺全部程序1500行左右,这就是我写程序的方式。

187

主题

600

帖子

606

积分

高级会员

Rank: 4

积分
606
QQ
发表于 2005-9-1 12:53:00 | 显示全部楼层

Re:求助:VB中怎样同时处理两条语句?

你们真是糟蹋了MS VB设计小组的一片好心啊
没得说了,好好看看VB的语法吧,vb是很强的

43

主题

229

帖子

234

积分

中级会员

Rank: 3Rank: 3

积分
234
QQ
 楼主| 发表于 2005-11-4 20:49:00 | 显示全部楼层

Re:求助:VB中怎样同时处理两条语句?

我也测试过TIMER的准确度,不过真的很不准。
我让Interval=1000,即一秒,然后创建LONG变量,“每秒”让变量+1,然后去玩超级大型的游戏《三国志9》,结果经过1小时20分钟了,VB的TIMER显示才经过1小时

130

主题

2714

帖子

2714

积分

金牌会员

Rank: 6Rank: 6

积分
2714
发表于 2005-11-4 21:09:00 | 显示全部楼层

Re:求助:VB中怎样同时处理两条语句?

我的TIMER1.INTERVAL=1
我的TIMER不是用来控制时间的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 12:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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