請VB遊戲高手來一下

時間 2022-10-09 22:55:07

1樓:牛a和牛c間徘徊

我寫了個demo,你自己下回去看看吧,一個坦克遊戲的demo可以移動和攻擊目標

***************以下是之前回復的********************

不知道你的遊戲重新整理過程是怎麼寫的..

總之每重新整理一楨,就要重新整理螢幕上所有物體的狀態,判斷哪些新生成,哪些該銷燬,所以子彈不能只發射,不銷燬..

**1的資訊最好用結構體來儲存,其中要有個rect來儲存這個**的位置,把子彈用定義成pointapi,只記錄座標就好了,子彈發射要用陣列,子彈要判斷敵我,速度,還有方向,最好也用結構體來儲存,判斷子彈是否打中目標,或者移除螢幕範圍,建議用api ptinrect 來做,這個api的執行速度非常快,幾百發子彈一會也可以判斷完畢

我能表達的也只有這些了,呵呵,如果你能看懂就看了,看不懂只能慢慢體會,但千萬不要退縮,多做做就會了

還有啊,做遊戲最好別直接移動控制元件,多了會很卡,快了會出現閃爍,最好是直接在pic控制元件或者form上畫影象,最最好呢,是用api來畫,速度很快,呵呵

2樓:匿名使用者

我想問一下 被你這樣一說有點像3d了?

給你幾個參考:

首先,製作介面,放一個炮臺,再放一個目標。

然後在form_keypress裡面去判斷按了左鍵還是右鍵。

如果你不知道keyascii你可以這樣寫,在裡面寫debug.print keyascii

這樣你按左右鍵就能得到它的keyascii了。

那麼往左就是

炮臺(一個**).left = 炮臺.left - 5 * 15 '5:5畫素,15:vb單位與畫素的轉換

往右就是

炮臺.left = 炮臺.left + 5 * 15

當然也要加上判斷

向左:if 炮臺.left >= 5*15 then

炮臺.left = 炮臺.left - 5 * 15

elseif 炮臺.left > 0 then

炮臺.left = 0

end if

向右:if 炮臺.left <= width - 5*15 then

炮臺.left = 炮臺.left + 5 * 15

elseif 炮臺.left < width then

炮臺.left = width - 炮臺.width

end if

這樣左右移動就ok了。

另外附上計算炮臺中心的演算法:

炮臺x的中心:中心=炮臺.left + (炮臺.width /2)。當然如果發射子彈,假設子彈有寬度,那麼發射子彈時候子彈位置應該是

炮臺.left + (炮臺.width /2) - (子彈.width /2)。

先說到這裡 明天修改繼續。

配置高手來一下

主機板 微星 k9n6sgm v 480.00cpu amd athlon64 x2 4200 am2 盒 610.00 顯示卡 七彩虹 天行7600gs gd3 cf白金版 256m v14 590.00 記憶體 金士頓 1gb ddr2 667 315.00硬碟 希捷 160g 7200.9 8...

求數學高手來一下

小紅吃了最後剩餘的一半多一個,說明最後的一半是一個,則小紅吃了兩個,2 1 3個事小平吃時的一半,所以小明吃完該小平時還剩3 2 6個,同理 6 1 2 14是最初的蘋果個數,小明吃了8個,小平吃了4個,小紅吃了2個。 小紅吃了最後的一半多一個,這樣蘋果剛好全部吃完,小紅沒吃時還剩1 1 1 2 2...

英語高手來一下v it adj to do sth

小幽 think it adj to do sth feel 同上 以上三個詞是固定的。當然 認為 還有以下用法,如suppose,consider,等。可代替think 當複合賓語中的賓語是不定式 動名詞或賓語從句時,往往把賓語放在它的補足語後面,而用it 作形式賓語,放在賓語補足語之前。詞類的句...