經(jīng)典格斗游戲《街頭霸王》的JavaScript實(shí)現(xiàn)
其實(shí)這種練習(xí)的結(jié)果不是很重要,主要是體會(huì)其中的過程,雖然大部分的時(shí)間是在痛苦中渡過,但也是有很多收獲的,同時(shí)也暴露出很多技術(shù)方面的不足,也為以后的學(xué)習(xí)明確了一些目標(biāo)。
技術(shù)方面因?yàn)榭紤]到大部分IE用戶(而且是非IE9),所以沒有用HTML5的canvas,用的div的方式處理的,這樣挑戰(zhàn)也相對大了一些,
不過確實(shí),性能上還是不理想,IE下的表現(xiàn)還是比較糟糕(特別是IE6。。。恩。。。- -!)。
目前兼容IE6/7/8(理論上也兼容IE9,只是沒有測試),safari,F(xiàn)F3.5+(因?yàn)镕F2.0/3.0不支持水平翻轉(zhuǎn)的樣式。。- -!),Chrome,Opera。
自己寫了一個(gè)小型框架,包括了開發(fā)流程和js類庫,類庫用了OOP Like的方式包了個(gè)語法糖衣,看上去還算是像個(gè)OOP的樣子,不過因?yàn)闉榱俗非?ldquo;優(yōu)雅”,直接擴(kuò)展了function的prototype,所以不建議在其它地方使用。
框架開發(fā)的整體思路就是用PHP作后端代碼合并輸出,js代碼里用$import去建立了各個(gè)代碼文件之間的關(guān)系,然后頁面引用合并js的PHP文件,該模式需要在本地建立一個(gè)web服務(wù)器才能作測試,并且需要設(shè)置hosts為 127.0.0.1 aralork
游戲說明
游戲是一個(gè)Demo版本,實(shí)現(xiàn)了核心的整體流程。游戲分為“單人游戲”模式、“雙人對戰(zhàn)”模式和“練習(xí)模式”三種玩法,不過其實(shí)實(shí)現(xiàn)都是一樣,只是改改初始化的參數(shù)而已,挺坑爹的。。。
游戲只需要鍵盤操作,不需要鼠標(biāo),
菜單的操作是方向鍵移動(dòng),Enter鍵選擇,ESC鍵取消;
玩家1的操作:
上:W,下:S,左:A,右:D,拳:J / K / L,腿:U / I / O
玩家2的操作:
上:↑,下:↓,左:←,右:→,拳:小鍵盤 1 / 2 / 3,腿:小鍵盤 4 / 5 / 6
這里的 ↑ ↓ ← → 代表方向鍵。
游戲截圖
其它說明
目前游戲還有很多BUG,所以玩的時(shí)候要有心理準(zhǔn)備,不要被怪異的情況所震驚。。。
游戲里的素材取自于CAPCOM公司的《街霸II》,版權(quán)歸CAPCOM公司所有。
大家有什么問題都可以在這里回復(fù),歡迎大家拍磚,謝謝。
原文鏈接:http://www.cnblogs.com/Random/archive/2011/04/11/2011962.html
【編輯推薦】