a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學院 > 開發設計 > 正文

VB游戲寫作技巧(1)秀圖篇

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

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

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

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

使用BitBlt函數前要先宣告:

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

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

現在有兩個PictureBox
Picture1AutoRedRaw屬性設為Ture
ScaleMode屬性設為"3-像素"
Picture2AutoRedRaw屬性設為Ture
ScaleMode屬性設為"3-像素"

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

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av毛片在线免费看 | 久久久久久一区 | 日韩在线视频观看 | 亚洲国产精品第一区二区 | 欧美日韩国产综合在线 | 婷婷成人在线 | 国产午夜精品久久久 | 欧洲成人午夜免费大片 | 国产精品久久久久久久 | 亚洲天堂久 | 久久久久久久 | 午夜视频色 | 日韩精品视频在线观看网站 | 91一级 | 国产精品久久久久婷婷二区次 | 欧美一区二区视频 | xnxx 日本19| 蜜臀va亚洲va欧美va天堂 | 亚洲成av人片一区二区三区 | 色香蕉网站 | 手机在线观看av | aaa久久 | 中文字幕亚洲天堂 | 久久密 | 久久久网站 | 亚洲一区二区三区精品视频 | 夜夜躁狠狠躁夜躁2021鲁大师 | 国产精品一区二区三区网站 | 欧美日韩福利 | 国产一区二区三区四区五区加勒比 | 美女日批视频在线观看 | 国产一区二区视频精品 | 国产精品欧美一区二区三区 | 亚洲一区二区三区中文字幕 | 91精品久久久久久久久久入口 | 国产第一区二区 | 日本三级在线观看中文字 | 国产一区在线播放 | 波多野结衣中文字幕在线视频 | 欧美寡妇偷汉性猛交 | 国产乱精品一区二区三区 |