游戏开发论坛

 找回密码
 立即注册
搜索
查看: 13766|回复: 47

宣三国英雄传2005

[复制链接]

73

主题

612

帖子

618

积分

高级会员

Rank: 4

积分
618
发表于 2005-7-28 12:43:00 | 显示全部楼层 |阅读模式
这是我用VB+DX7写的程序,虽然还是比较垃圾
但是至少证明了VB还不是慢的让人无法忍受
sf_200572812430.jpg

73

主题

612

帖子

618

积分

高级会员

Rank: 4

积分
618
 楼主| 发表于 2005-7-28 12:47:00 | 显示全部楼层

Re:宣三国英雄传2005

从左下角的小地图和右上角的测试数据可以看出有多少人多少效果多少子弹在图上同时运行。
这还是在我的破机器上运行

130

主题

2714

帖子

2714

积分

金牌会员

Rank: 6Rank: 6

积分
2714
发表于 2005-7-28 14:18:00 | 显示全部楼层

Re:宣三国英雄传2005

超强的VB作品,强烈支持楼主!!VB万岁。

73

主题

612

帖子

618

积分

高级会员

Rank: 4

积分
618
 楼主| 发表于 2005-7-28 15:24:00 | 显示全部楼层

Re: 宣三国英雄传2005

pic
sf_2005728152341.jpg

73

主题

612

帖子

618

积分

高级会员

Rank: 4

积分
618
 楼主| 发表于 2005-7-28 15:24:00 | 显示全部楼层

Re: 宣三国英雄传2005

pic
sf_200572815240.jpg

130

主题

2714

帖子

2714

积分

金牌会员

Rank: 6Rank: 6

积分
2714
发表于 2005-7-28 16:58:00 | 显示全部楼层

Re:宣三国英雄传2005

程序是否快和设计方法有很大关系,代码是否简化,
举例我那个新的坦克90游戏,代码是680行,还包括很多注释和空行,
已经是个完整的小游戏,而且游戏里的参数都是可变的(地图,坦克行走速度,发炮速度,敌人出现时间,敌人坦克转向时间“AI”等等,只要在程序里改就可以了。)

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2005-7-28 19:13:00 | 显示全部楼层

Re:宣三国英雄传2005

用flash脚本不需要100行代码,但如果你用汇编1000行也写不出来,程序运行的快不是看代码行数的。

你的程序里用到了GDI函数BitBlt,你如果想知道这个函数有多高的效率,我给你一个简单的办法,你生成一张32位1024 * 1024的BMP图片,然后For循环BitBlt1000次,你看看需要多长时间。

如果你需要对比的话,我可以把我写的框架中的同样一张32位1024 * 1024的BMP图片For循环往屏幕上拷贝1000次,我可以告诉你我所用的时间

关于GDI函数有多慢,你可以在其他的版面或论坛上询问一下,看看这个函数到底能够承载多大的游戏

另外一个,我说一下我提到的那个数字,那个数字叫做帧速率,它是衡量一个游戏性能比较重要的参数。

你们之所以感觉到慢,是因为我控制了飞机的飞行速度,这个速度比你们的延时要精确的多,我程序里的设定是每0.04秒移动1个像素,意味着一个飞机从上到下需要24秒,当然这个速度并不是在一定的条件下不完全准确,如果当帧速率小于25帧的时候这个速度就不是准确的,否则它就是相当准确的

我之所以这么设计,一是为了展示如何控制游戏的速度,如果你们觉得我写的不好,你们可以看一下那个3D的例子。

提高飞机速度,一种方法是可以改变飞机的步长,也就是每0.04秒移动更多的像素,但是当你的步长太大的时候,你会感觉到飞机的抖动(一蹦一蹦的往前走),不仅我的游戏会有这个毛病,所有的游戏都会出现。

还有一个办法可以提高飞机的速度而不用改变步长,就是缩短计时,也就是说我不每隔0.04秒移动1个像素,而是改为每隔0.01秒移动一个像素,这样也可以提高飞机移动速度,大家可以试着改一下我的代码,但随着你的间隔时间越短,意味着你对帧速率的要求越高,如果是每隔0.01秒计时一次,就意味着你的帧速率必须达到100。这并不是所有机器都能跑的起来的,所以当你的帧速率达到一个值以后,在步长不变得情况下,你的飞机最高速度是固定的,即使你的代码写的再好再如何优化。

所以说,代码长不要紧,怕的是代码长了缺很混乱,我不说我的代码如何,我的代码确实没有优化也没有仔细去考虑,但他确实是一个通用的游戏框架。那个3D的飞机也是,不要看他是3D的,代码也很长,框架却非常清晰

1

主题

24

帖子

24

积分

注册会员

Rank: 2

积分
24
发表于 2005-7-28 20:40:00 | 显示全部楼层

Re:宣三国英雄传2005

的确很强啊,支持楼主。

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2005-7-28 21:35:00 | 显示全部楼层

Re:宣三国英雄传2005

7楼的回帖放在你的帖子中似乎更合适。

BitBlt我经常使用(在一些小程序里面代替DDraw),我想问楼主,你的半透明效果是否是使用了BitBlt完成的?

8楼的游戏代码我看了,真的,我是绝对不敢像你那样写代码的,相信楼主也是。除了图象渲染外,你的代码效率其实并不高,你的代码真的体现出D3DSprite的速度优势。对于我们这些使用Dx7中DDraw的人来说,速度确实无法相比。所以你就不要用你的代码和BitBlt比了,在Dx7中用BitBlt不会比不用慢太多的。

说道控制游戏速度,其实你的程序其只是一个循环,只不过在更新位置时增加了一个延时而已,没有真正把渲染循环和控制循环分开,不过这也是一个不错的方法,对我很有启发。

另外你的代码确实很有条理,不像我为了一点点速度优化把整个代码搞得一团乱。

加油了大家!

4

主题

106

帖子

106

积分

注册会员

Rank: 2

积分
106
发表于 2005-7-29 00:08:00 | 显示全部楼层

Re: 宣三国英雄传2005

???蛎靠匆淮尉鸵??右淮?..
一定要支持呀,真的真?人很佩服 [em13]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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