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