国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

VB游戲?qū)懽骷记桑?)秀圖篇

2019-11-18 17:49:59
字體:
供稿:網(wǎng)友
一開始,我想先從
知道了PictureBox的特性後,要怎么樣把它應(yīng)用到游戲中呢?舉個(gè)例子好了,我現(xiàn)在要做一個(gè)打磚塊的游戲,需要用到那些圖片呢?磚塊、球、擊球的板子,一共有三張圖,所以我們就使用三個(gè)PictureBox,將圖片載入到PictureBox里面,如下面所示:

Picture1磚塊的圖片
Picture2球的圖片
Picture3板子的圖片

接著我就可以寫,當(dāng)我按下方向鍵的右鍵時(shí),Picture3的left屬性 1,按下左鍵則-1,這樣一來不就可以控制板子的左右移動(dòng)了嗎?球也是一樣,只要每隔一段時(shí)間更改一次Picture2的left和top屬性,就可以做出球移動(dòng)的效果了。

或許有人會(huì)覺得奇怪,一張圖就要用到一個(gè)PictureBox,小游戲的圖不多還沒關(guān)系,如果是RPG的話不就要?jiǎng)佑玫綆浊€(gè)甚至幾萬個(gè)PictureBox?豈不是麻煩死了?所以如果圖片很多的時(shí)候,我通常都是把圖全部都放在同一個(gè)圖形檔里面,這樣就只要用到一個(gè)PictureBox了,要用圖片時(shí)從里面把它抓出來就好了,不過要怎么抓呢?我建議使用函數(shù)BitBlt()來做圖形的搬移。

使用BitBlt函數(shù)前要先宣告:

DeclareSubBitBltLib"gdi32"(ByValhDestDCAsLong,ByValXAsLong,ByValYAsLong,ByValnWidthAsLong,ByValnHeightAsLong,ByValhSrcDCAsLong,ByValxSrcAsLong,ByValySrcAsLong,ByValdwRopAsLong)

hDestDC目的地的DC
x目的地的座標(biāo)x
y目的地的座標(biāo)y
nWidth來源圖片的寬度
nHight來源圖片的高度
hSrcDC來源圖片的DC
xsrc來源圖片的座標(biāo)x
ysrc來源圖片的座標(biāo)y
dwrop運(yùn)算方法:&HCC0020PUT
&H8800C6AND
&HEE0086OR
&H660046XOR

現(xiàn)在有兩個(gè)PictureBox
Picture1AutoRedRaw屬性設(shè)為Ture
ScaleMode屬性設(shè)為"3-像素"
Picture2AutoRedRaw屬性設(shè)為Ture
ScaleMode屬性設(shè)為"3-像素"

若想將Picture2里(10,10)-(100,100)區(qū)域內(nèi)的圖形拷貝到Picture1的(0,0)
可以這樣寫:

BitBltPicture1.hdc,0,0,90,90,Picture2.hdc,10,10,&HCC0020

這樣子平常寫游戲時(shí)就只要設(shè)兩個(gè)PictureBox,一個(gè)專門用來顯示,另一個(gè)則用來放圖形資料,需要時(shí)再用BitBlt函數(shù)覆制過去就好了,不是很方便嗎?->


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 蕲春县| 镇江市| 莱芜市| 海宁市| 芦溪县| 称多县| 罗城| 怀仁县| 衡阳市| 定州市| 安远县| 南平市| 麻江县| 江达县| 乃东县| 北宁市| 收藏| 花垣县| 浑源县| 青铜峡市| 罗平县| 象山县| 临武县| 巩留县| 门头沟区| 冀州市| 龙泉市| 肇州县| 福泉市| 瑞安市| 修水县| 稷山县| 巴南区| 青州市| 德钦县| 江阴市| 萝北县| 霍林郭勒市| 博湖县| 合山市| 新兴县|