说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB游戏写作技巧(1)秀图篇

HTML文档下载 WORD文档下载 PDF文档下载
VB游戏写作技巧(1)秀图篇
一开始,我想先从游戏的图形先讲起好了,毕竟游戏最重要的就是画面,一个没有漂亮图形的游戏,我连碰都不想去碰。那该怎么处理游戏的图形呢?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函数覆制过去就好了,不是很方便吗?
圣诞节快乐:来自程序员们的问候 宏碁任命新CEO Jason Chen:曾任职英特尔14年、台积电8年 史上第一次越狱发布会与Evad3rs太极助手罗生门 新东方在线CTO曾明:已用Cocos2d-html5开发出150余款产品 Facebook 2013年的9个开源项目 开源力量公开课2013年度庆典:我们的开源项目 看雪学院“走进企业看安全”活动走进安全管家 视频+PPT:苹果iOS7 Tech Talks大会演讲内容 iPhone 6和Galaxy S5暂不会采用弯曲屏技术 当程序不工作时,开发者常用的借口 携程技术副总裁叶亚明:三次重大技术改进的故事及背后原因 Google抛弃C语言,采用Go语言重写Go编译器 jQuery Mobile 1.4.0正式版发布,着重性能改进 IBM收购Aspera加速大数据传输 各式各样的极品程序员,你属于哪一种 Google员工离职前必做的14件事情 GitHub上最火的开源项目及编程语言是什么? 2014的12个大数据趋势:Hadoop继续升温,R将进入主流 研究称三星手机可能存在安全漏洞 初创IT公司里开发者最容易犯的九种错误 还有多少开发者在为IE6做兼容性测试? 解读华三“新IT易之道”理念下的云计算和数据中心 回顾苹果2013:硬件几乎无突破 热衷收购 敏捷开发流程管理须参考的3个要素 微软潘正磊谈DevOps、Visual Studio 2013新功能、.NET未来 Jail Breaking之后,iOS 7的指纹识别还hold住么? “勇者前线”开发商Gumi获1900万美元融资 工信部发首批10张虚拟运营商牌照 开发者有哪些新机会 【PPT集萃】十位一线专家分享Spark现状与未来 谁主沉浮,亚马逊和思科角力DaaS市场 忆往昔峥嵘岁月稠——看苹果第一代iPhone的“风骚”往事 无聊,散分。只给前面十个。 用image控件可以互相转换ico,bmp,jpg三种格式的图片吗? 请问哪有NGWS下载? ?有没有啊 以下程序的输出值是 哪位朋友知晓如果Table与DbGrid绑定后,如何实现非第一索引的排序。 请问MSDN有中文版的吗?我们这的全是英文版的 我的 Win2000 出大问题了,急盼各位大虾赐教 请问那里有VB.NET软件下载呀 什么delphi命令可以打开网页呢? 到底有没有人知道如何可以在panel中动态的调用frame或者是form呢? 哪里有windowsXP下载? 送我能给的最大分,请教很小的问题,中高手进 聊天请进(thinkingdog) 大家来谈谈 IBM都有些什么认证???什么认证现在比较吃香???谢谢!!! 打印数窗问题求助! 如何使用UrlDownloadtoFile下载文件使用进度条? 如何用在两次用getTime()中得到两个不同的时间。 一个类似于牛角尖的问题(多余的CONST),不能忽视,请各位高手详细说明!!谢谢! 怎样读写注册表,每次都不成功,气死我也~! 各位救命啊,用 TClientDataSet.Load XML 的问题。。。。 娃呀呀,pb8怎么这么难安装?jaguar组建就用了5分钟,regester window又用了10分钟,重启动后,还没完,偶不敢装了,把碟退了出来,大家是不是也这样?//牛虻 请教高手一个ado的问题. 请问一个TWebBrowser的问题 请问:系统崩溃后,找不到BOOT,系统告诉:DOS基本分区为格式化?无法引导启动! 在VB.NET的tabcontrol上放置AxMSFlexGrid控件问题,急 java3D 现在大家是用Oracle 8还是 Oracle 9??? C++问题求助! 请教一个错误的原因. 各位大侠请问Jeffrey Richter的windows核心程序设计是不是就是andvanced windows程序设计的第四版 SCJP里的那些什么300-020,020是什么意思啊? 请问一个关于document.write()方法的问题。急啊! 初学者,欢迎灌水。 Delphi6的Bug?不兼容? 为什么我用GetProfileString()却总是得不到结果 sos 请教各位大侠一个问题 delphi6中的installShield 请介绍接收端CRC校验传输内容是否正确的方法,资料或代码。谢谢! 各位大侠请问Jeffrey Richter的windows核心程序设计是不是就是andvanced windows程序设计的第四版? 谁会做软件狗?有钱赚了!!! 为什么我用QuickRep作的报表只能显示一条记录,而且columnHeaderBand上内容也显示不出来 请问在税务局开发数据库的同行么?? 大家好各位大侠请问Jeffrey Richter的windows核心程序设计是不是就是andvanced windows程序设计的第四版? 谁做过软件狗,马上来拿钱!!! 江苏省的成绩什么时候可以出来啊,我是徐州的 shockwaveflash没有hwnd,怎么办? chechy(chechy) 你在吗? 一个关于用excel做的日报的问题 谁会做软件狗,马上来拿钱!!! 给你下跪了,给你磕头了,给你鞠躬了。很简单的问题。谢谢 干冰能够人工降雨原理是什么? 压力容器A/B/C/D分类具体是指什么意思?A与D有区别是什么? 不同季节正午太阳光下物体影子的长度有什么特点?为什么? 将干冰用于人工降雨的原理是什么? 一年的正午学校旗杆的影子在旗杆的什么方向为什么 【化学变化】牛奶和醋放在一起有什么变化?再喝下去呢? 正午的时候 太阳在你的什么方向 影子又在什么方向说下why 某学校操场上,在O处立有一旗杆,OP是正午时旗杆在地上的影子,影子长度经常变化,当6月22日时影子缩短为0.M有棵树,OM与OP相垂直.(1)旗杆所处纬度为_______,因为____________________________,到________ 某地有一幢楼,楼房高度为h,太阳高度角为a,楼间距和正午的影子为S,回答4-5题.4.若在12月22日,正午影长与楼房高度相同,该地的纬度是:( )①23°26¢N ②21°34¢N ③25°26¢N ④68°26¢ 太阳升起与太阳落下时影子最( ),但方向( ),正午时影子最( ). 干冰在人工降雨时所发生的物态变化仔细一点应该好像有四种吧 延长记号是什么样子 用“正午太阳偏南,物体的影子指北”来判断方向,只要正午可以见到太阳,那么任何时候都符合上述规律的地区是A.全球各地B.南半球中纬度地区C.北半球纬度地区D.北半球下列词语,从地质学观 用干冰人工降雨发生了哪些物态变化? 右下图是中国节水标志,用简练的语言写一段解说文字,向同学和家人解说图案的构成要素、造型特点.右下图是中国节水标志,请仔细观察,用简练的语言写一段解说文字,向同学和家人解说图案 北京旗杆正午时的影子方向是()8月8日 请问这个焊接符号是代表什么意思?还有a 1.5 是什么意思 音乐中的休止符号是什么样子? 中国和俄罗斯为什么不容易被分裂?我没有分裂中国的意思,我想问的是中国和俄罗斯都是多民族的国家,为什么这两个大国不容易分裂呢? (初二物理题)干旱时,要实施人工降雨必须具备什么样的天气条件?实施人工降雨时常向高空抛撒干冰,请问干冰的作用是什么? 这个焊接符号代表什么意思? 俄罗斯中西伯利亚高原为什么没有东西伯利亚山地高? 压力容器新的分类方法新容规说的你这是旧的容规 若北京天安门广场的旗杆影子最短,求北京时间 用牛奶做隐形墨水的原理在白纸上用牛奶写字,写完后风干,再用打火机,在纸下面烤一下,字便显现出来.但是白纸的替他地方却没有被烤过的任何痕迹.请问这里面用了牛奶的什么原理,请详细讲 为什么牛奶滴进醋里会变成那样?你去试试? 关于旗杆影子的问题一天中,在早晨,中午,下午分别观察操场上的旗杆影子长度,有什么样的变化?为什么会有这样的变化?在一年中的不同季节,观察中午时刻的旗杆影子,又有什么不同?说出产生 为什么牛奶盒是长方形的?有什么原理吗? 西伯利亚地区有哪些民族,为什么苏联解体了,俄罗斯联邦还存在呢?为什么不把中国元朝时期就属于中国的领土:西伯利亚、外蒙古、 库页岛、唐努乌良海、新疆西北等地,归还中国统治呢? 太阳光和地面的夹角叫_________.一天中,旗杆影子的长度最短的时间是太阳在最高的位置———中午的时候,. 压力容器的等级是怎么划分的什么是一类.二类.三类 久旱无雨时,人们就要实施人工增雨——在云层中撒些干冰,达到人工降水.试解释这么做的道理. 在天安门广场上的旗杆你知道哪一天影子最长哪天最短为什么 压力容器是如何分类的 久旱无雨时,人们就要实施人工降雨——在云层中撒些干冰,达到人工降雨,能解释这么做的道理吗?干冰即(固体二氧化碳) 一年之中,旗杆的影子每天12点时一样长吗?什么时候最长 现行压力容器分类标准是什么时候开始执行的 当把干冰撒在空中时,干冰进入云层,很快什么为气体. 为什么俄罗斯西伯利亚地区三大河流的下游几乎没有农田RT 历史爱好者们,西伯利亚在元朝管辖时说何种语言?(肯定不再是现在的俄罗斯语言了) 在同一时间,同样高度的建筑物,在下列哪个城市中它的影子最长A.深圳B.宁波C.杭州D.北京 俄罗斯西伯利亚地区三大河流为何自南向北流? 元朝属不属于中国rt 在同一时间,同样高度的建筑物,在下列哪个城市中它的影子最长( )A.深圳 B.宁波 C.杭州 D.北京 俄罗斯西西伯利亚地区的三大河流(鄂毕河,叶尼塞河,勒拿河)为什么自南向北流? 牛奶:纸袋的和塑料袋的有什么不同包装不一样营养成分也不一样吗?请详细说明. 在同一时间,同样高度的建筑物,在下列哪个城市中的影子最长() A 深圳 B宁波 C杭州 D北京在同一时间,同样高度的建筑物,在下列哪个城市中的影子最长()A 深圳 B宁波 C杭州 D北京 干冰很容易发生哪种物态变化? 一天中太阳各个时间段的朝向,在什么地方,早上,中午,下午各个时间段的影子是朝哪的,注意各个时间段. 科学选择题:在同一时间,同样高度的建筑物,在下列哪个城市中它的影子最长?A.深圳B.宁波C.杭州D.北京 为什么俄罗斯亚洲部分的三大河流中下游几乎没有农田 早上,中午,下午哪个时间你的影子最长 在同一时间,同样高度的建筑物,深圳,宁波,杭州,北京哪个城市的影子最长 什么季节正午房屋影子最长?太阳斜射在?几次?什么季节正午房屋影子最短?斜射在?几次 压力容器的分类? 牛奶醋需要什么牛奶跟醋混合来喝对减肥比较好! 不同季节正午太阳高度下影子的长度 液氮或干冰增雨的原理是什么? 压力容器一、二、三类是怎么分类的 牛奶倒入醋为什么会发生变化
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn