VB游戏写作技巧(1)秀图篇
日期:2007年6月7日 作者: 查看:[大字体 中字体 小字体]-
一开始,我想先从游戏的图形先讲起好了,毕竟游戏最重要的就是画面,一个没有漂亮图形的游戏,我连碰都不想去碰。那该怎么处理游戏的图形呢?VB提供了一个非常好用的控制项--PictureBox,有了这个控制项我们才能轻松的在程式中秀出图形,现在就来看看PictureBox有那些特性可以让我们在游戏中使用。Picture 属性:只要将这个属性填入正常的图形档名,VB就会自动帮我们载入图形档。
Visible 属性:这个属性可以让图形消失或让图形出现在画面上。
用法:Form1.Picture1.Visible = False '消失
Form1.Picture1.Visible = True '出现
Left 属性:表示图形的位置的X座标。
Top 属性:表示图形的位置的Y座标。
用法:改变这两个属性就可以改变图形的位置。
ScaleMode 属性:设定PictureBox所使用的座标单位,一般都设为"3-像素"
知道了PictureBox的特性後,要怎么样把它应用到游戏中呢?举个例子好了,我现在要做一个打砖块的游戏,需要用到那些图片呢?砖块、球、击球的板子,一共有三张图,所以我们就使用三个PictureBox,将图片载入到PictureBox里面,如下面所示:
Picture1 砖块的图片
Picture2 球的图片
Picture3 板子的图片
接著我就可以写,当我按下方向键的右键时,Picture3的left属性+1,按下左键则-1,这样一来不就可以控制板子的左右移动了吗?球也是一样,只要每隔一段时间更改一次Picture2的left和top 属性,就可以做出球移动的效果了。
或许有人会觉得奇怪,一张图就要用到一个PictureBox,小游戏的图不多还没关系,如果是RPG的话不就要动用到几千个甚至几万个PictureBox?岂不是麻烦死了?所以如果图片很多的时候,我通常都是把图全部都放在同一个图形档里面,这样就只要用到一个PictureBox了,要用图片时从里面把它抓出来就好了,不过要怎么抓呢?我建议使用函数BitBlt()来做图形的搬移。
使用BitBlt函数前要先宣告:
Declare Sub BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long)
hDestDC 目的地的DC
x 目的地的座标x
y 目的地的座标y
nWidth 来源图片的宽度
nHight 来源图片的高度
hSrcDC 来源图片的DC
xsrc 来源图片的座标x
ysrc 来源图片的座标y
dwrop 运算方法:&HCC0020 PUT
&H8800C6 AND
&HEE0086 OR
&H660046 XOR
现在有两个PictureBox
Picture1 AutoRedRaw 属性设为Ture
ScaleMode 属性设为"3-像素"
Picture2 AutoRedRaw 属性设为Ture
ScaleMode 属性设为"3-像素"
若想将Picture2里(10,10)-(100,100)区域内的图形拷贝到Picture1的(0,0)
可以这样写:
BitBlt Picture1.hdc,0,0,90,90,Picture2.hdc,10,10,&HCC0020
这样子平常写游戏时就只要设两个PictureBox,一个专门用来显示,另一个则用来放图形资料,需要时再用BitBlt函数覆制过去就好了,不是很方便吗?
- [1] [2] 下一页
-
- VB游戏写作技巧(1)秀图篇 相关文章:
- ·VB游戏写作技巧(1)秀图篇
- VB游戏写作技巧(1)秀图篇 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:VB编程的七个优良习惯
精品推荐
热点TOP10
- ·VB+Access设计图书管理系统
- ·VB设计有语音报时和报警功能的闹钟
- ·窗体控件大小随窗体大小变化而变化
- ·用VB跟我学做记事本(很简单哟)
- ·VB中使用DirectX库的简明教程
- ·VB中使用EXCEL输出
- ·VB的数据库类型源码60实例下载
- ·180个VB图形界面类源码实例下载
- ·用API修改注册表的完整模块
- ·VB打造超酷个性化菜单(六)
- ·通信控件MSComm使用详解
- ·WINDOWS消息说明
- ·16进制数转换成十进制, 16进制转换成二进制等
- ·vsprint打印实例
- ·webbrowser 技巧2 (收藏)
- ·巧用VB6的DataGrid实现通用电子表格
- ·FindWindow
- ·VB教程 第二章:控件学习
- ·用VB6.0制作画图板
- ·VB编程之路-如何让界面美化
特别推荐
- ·深入浅出VB.Net Windows Form
- ·简易股票税率计算器
- ·VisualBasic 6编程中的汉字处理
- ·自动读取用户登陆名称,再进行密码验证
- ·用API函数遍历指定驱动器、目录的文件
- ·VB的数据库类型源码60实例下载
- ·用VB制作IE工具条自定义按钮
- ·用VB创建MS Office的COM加载项
- ·教你用Visual Basic制作安装程序
- ·WebComputing━ADO总结报告
- ·vsprint打印实例
- ·用VB实现一个简单的ESMTP客户端
- ·webbrowser 技巧2 (收藏)
- ·SetForegroundWindow
- ·用API修改注册表的完整模块
- ·VB打造超酷个性化菜单(六)
- ·WINDOWS消息说明
- ·窗体控件大小随窗体大小变化而变化
- ·VB设计有语音报时和报警功能的闹钟
