當前位置:編程學習大全網 - 源碼下載 - Java遊戲輔助源代碼

Java遊戲輔助源代碼

這樣做需要大量的資源和耐心。我找了壹個做過的作者,把他的經驗貼給妳。希望有用!

大家好。今天有時間寫點東西,主要是我做“超級瑪麗”的經驗和總結,可能對新手有用。這是我整理出來的,不是編程順序。

我先解釋壹下編程語言。我用QB玩“超級馬裏奧”,用VB做地圖編輯器。

確定遊戲規模,我的設定是:沒有怪物和金幣,沒有進出的水管,通關時沒有動畫。這樣,程序的主要操作就是顯示前景、背景和瑪麗,並檢測玩家與前景的碰撞。

資源:圖片資源:我參考了壹個C語言的“超級瑪麗”,借用並修改了部分圖片(感謝原作者)。聲音:沒有。

圖像處理:圖像分為前景和背景,都是十六個圖像塊,16*16像素;前景分為三組,分別用來顯示不同的層次。每組的前兩個圖像塊是通關標誌(旗桿和水平水管)。為了使程序簡單,我在程序中不考慮不同的前景,所以通過測試的程序不會分別判斷旗桿和水管,我要橫向判斷,所以當我“站”在水管上時,我不會通過測試,但我必須橫向走進水管才能通過測試,旗桿也是壹樣。圖像是BMP格式,不是標準的十六色。必須轉換成QB可以識別的格式,還必須設置調色板。我做了兩個輔助程序,壹個是VB程序,功能是讀取顏色值和像素,寫兩個文本文件,壹個是顏色值,QB通過它設置調色板,壹個是圖像傳遞文件;第二個輔助程序是QB程序,它讀取剛才的圖像傳輸文件,將圖像塊以GET格式二進制方式寫入“tp.xp”文件。這樣做的好處是遊戲程序可以用數組存儲GET格式的圖像文件,不需要顯示。

選擇病例圖像索引

案例1 put (x,y),p1%

案例2 put (x,y),p2%

……

",可以是" PUT (x,y),bj(0,圖像索引值),PSET "壹個語句。

map:map文件是壹個文本文件,每行200字節長,21行高。前五行沒用,因為瑪麗可以跳得比屏幕高。為了避免碰撞檢測的冗長,增加了這五行。然後第12行是地圖內容,大寫字母是背景,小寫字母是前景,字母的ascii值與圖像索引順序相同。最後是前景號(前景* * *三組)和遊戲開始時瑪麗的位置。確認了這些就很容易做地圖編輯器了,地圖編輯器也沒什麽好講的。制作地圖時要註意遊戲的趣味性和平衡性。

遊戲程序:

輸入要求可以檢測同時按下的多個鍵。我從消防員那裏下載了這部分。沒有它我真的不行。

鍛煉身體。模擬瑪麗自由跳起和下落,費了壹番周折,甚至想過用平方函數曲線(不是叫拋物線嗎?),後來發現了更好的方法:重力因子。試試下面這個小程序,是拋物線嗎?

屏幕12

將x,y,ty,zl標註為整數

Zl=1 '重力系數

Y = 100 '高度

Ty = 20 '跳躍時加上這個。

對於x = 100到200步驟2

ty = ty - zl

Y = y+ty '如果遊戲程序中沒有碰撞,執行這個。

PSET (x,480 - y),15

然後

它的優點是簡單和真實。其特點是隨時因重力而下落。人在跳的時候,高度會越來越小,到了頂上就會掉下來。當他們倒下的時候,差距會越來越大(就是越來越快),這是很真實的。當妳掉下懸崖(不是跳樓)時,妳會自由落體。但如果壹個人走在地上,碰撞檢測時會被檢測到,不允許摔倒,這在遊戲中是看不到的。當然,這只是模擬。

滾動屏幕。地圖存儲在數組中,每個數組元素代表壹個地圖塊,只顯示壹部分(19個地圖塊寬,12個地圖塊高)。我設置了兩個變量,壹個是要顯示的地圖部分的第壹個地址;另壹個是地圖上顯示的位置。要流暢地滾動地圖,妳得小心,移動的距離越小,看起來就越流暢。

看程序:

如果x-pyl * 16 & gt;120和pyl & lt181那麽wyl = wyl + 4

如果wyl & gt= 16,則wyl = 0: pyl = pyl + 1

x是地圖上的人的橫坐標,pyl是顯示的地圖的第壹個地址,x-pyl * 16是顯示器上的人的橫坐標,120大約是屏幕的中心線,wyl是第壹個顯示的地圖的顯示位置。姑且稱之為位移,取值為0,4,8,12。

第壹條:人越過中心線向右走,沒有到達終點時,位移增加四,每張地圖向左顯示四個像素。

第二條:移動16個像素時,顯示的地圖範圍向右移動壹格,位移設置為零。

這樣循環實現了地圖的平滑滾動。

碰撞檢測。這部分很簡單,依次檢查人占據的四格圖是否為空,如果人已經進入前景,就把他們拉回來。

字符圖像的顯示:

如果dz & lt3那麽dz = dz+1 ELSE dz = 0 '正常行走時,交替顯示三張行走地圖。

如果gamekey (75) = 0且0 = gamekey (77)則dz = 0’當妳不走路時,用腳站立。

如果跳躍時d = 0,那麽dz = 5 ’,則顯示跳躍的畫面。

他們的順序也是優先的。

加上方向,自然就好了。檢測輸入時設置方向。

剛才說了“tp.xp”文件和顯示地圖塊,然後用源代碼解釋壹下。我不知道GET image格式,但是我的助手程序是這樣寫文件的:

打開二進制文件“tp.xp”作為#2

對於……

f = 1

得到(,)-(,),壹個

對於j = 0到130

把#2,f,a(j)

f = f + 2

然後

……下壹個

關閉

遊戲初始化時讀取文件:

f = 1

打開二進制文件“tp.xp”作為#2

對於i = 0到15

對於j = 0到130

GET #2,f,bj(j,I)

f = f + 2

然後

然後

關閉#2

顯示時:

PUT(,),bj(0,圖像索引值),PSET

只有壹個。

這才是最重要的。

這些只是我在編程的時候發現的,可能和壹般的遊戲開發不太壹樣。如有不當或不妥之處,請批評指正。

謝謝妳。

  • 上一篇:什麽瀏覽器最好用?
  • 下一篇:貸款超市源代碼
  • copyright 2024編程學習大全網