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

2021-04-20 03:35:08 字數 786 閱讀 9622

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

成員函式功能列表:

class myanimagic:public mybitmap

;函式具體實現很簡單, 可參照myaniobj類.

使用舉例

定義mario01/mario01.cpp(87):myanimagic bmmagic;

初始化載入位圖

mario01/mario01.cpp(250): bmmagic.init(hinstance,idb_bitmap_magic,1,1);

設定dc

mario01/mario01.cpp(251): bmmagic.setdevice(hscreen,hmem, hmem2);

初始化寬高資訊

mario01/mario01.cpp(252): bmmagic.initanilist(mapanimagic[0],mapanimagic[1],sizeof(mapanimagic[0])/sizeof(int));

變數宣告

gamemap.cpp(22):extern myanimagic bmmagic;

在邏輯層中, 顯示旋風

mario01/gamemap.cpp(568):    bmmagic.drawitem(xstart,ystart, 0, firearray[i].iframe);

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

所有遊戲資料都需要封裝到實際的變數中。整個遊戲,就是用類gamemap表示的。成員函式功能列表 class gamemap 所有的資料都儲存到一系列全域性變數中 所有選單文字 char ppretext 所有動態元素的寬 高 int mapani 2 10 所有地圖物品的寬 高 int mapsol...

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

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

《超級瑪麗》3

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