超級瑪麗製作揭秘25類GAMEMAP 全域性變數

2021-04-22 09:25:53 字數 1128 閱讀 9156

所有遊戲資料都需要封裝到實際的變數中。整個遊戲,就是用類gamemap表示的。

成員函式功能列表:

class gamemap

;所有的資料都儲存到一系列全域性變數中:

//所有選單文字

char *ppretext=;

//所有動態元素的寬 高

int mapani[2][10]=,,};

//所有地圖物品的寬 高

int mapsolid[2][13]=,

};//所有背景物品的寬 高

int mapanibk[2][4]=,,};

//旋風的寬 高

int mapanimagic[2][1]=,

};//所有地圖資訊

struct mapinfo allmapinfo=,,,

,};//普通蘑菇兵模板

struct role gl_enemy_normal=

;//跟蹤列印

//filereport f1;

//計時器

myclock c1;

//遊戲全部邏輯

gamemap gamemap;

//各種

mybitmap bmpre; //選單背景,通關,gameover

mybksky bmsky; //天空背景

myaniobj bmmap; //地圖物品

myaniobj bmmapbkobj; //地圖背景物品

myaniobj bmaniobj;  //所有動態元素

myrole rmain; //玩家角色

myanimagic bmmagic; //旋風

//字型管理

myfont myfont; //字型

//dc控制代碼

hdc hwindow,hscreen,hmem,hmem2;//視窗dc, 地圖dc, 臨時dc,臨時dc2

//空位圖

hbitmap hmapnull;

//視窗大小

int wwin,hwin;//顯示器螢幕寬 高

int wwingame,hwingame; //當前視窗寬 高

hwnd hwndmain; //視窗控制代碼

所有功能都分別介紹過了。再講選單控制和視窗縮放,且聽下回分解。

超級瑪麗製作揭秘3 遊戲背景類MYBKSKY

類說明 這是乙個專門處理遊戲背景的類。在橫版遊戲或射擊遊戲中,都有乙個背景畫面,如山 天空 雲 星空等等。這些一般只有1到2倍螢幕寬度,然後像乙個卷軸一樣迴圈移動,連成一片,感覺上像一張很長的。這個類就是專門處理這個背景的。在超級瑪麗增強版中,主要關卡是3關,各有一張背景 從水管進去,有兩關,都用一...

超級瑪麗製作揭秘5魔法攻擊 類MYANIMAGIC

類說明 玩家有兩種攻擊方式 普通攻擊 子彈 魔法攻擊 旋風 這個類是專門處理旋風的。我最初的想法是用一些特殊的bitblt方法製造特效,例如或 與 異或。試了幾次,都失敗了。最後只能用 先與後或 的老方法。這個類可看成myaniobj的乙個簡化版,只支援不規則的顯示。成員函式功能列表 class m...

《超級瑪麗》3

第三階段 目標 實現水平方向和豎直方向上的碰撞,更具有真實感。1 要想解決水平方向的碰撞,就要先明白乙個問題,地圖上的哪些東西是不能夠穿過的,也就是說要先定義好地圖上的某些可供碰撞檢測的物體磚塊型別。如圖 水平檢測函式的開頭準備工作 為了簡化水平方向的檢測,因為馬里奧的錨點是中心位置,所以左右兩邊的...