日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

html js 做的小游戏,用js做一个小游戏平台 (一)

發(fā)布時間:2025/4/5 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html js 做的小游戏,用js做一个小游戏平台 (一) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

記得上班寫代碼時,我們技術(shù)總監(jiān)總說是要先“設(shè)計”,那就先“設(shè)計”吧。

ps:我是新手大家多多見諒。

.網(wǎng)頁游戲區(qū)域。就是說需要知道游戲在網(wǎng)頁上的區(qū)域,如下:

在網(wǎng)頁中插入一個div,設(shè)定寬高和id,

然后再js中得到該對象,

var _GameFrame = document.getElementById("GameFrame");

.鍵盤參數(shù)對象:在游戲中會經(jīng)常獲取鍵盤的值,設(shè)定一個鍵值對應(yīng)的對象:

var _KeyParameters = { KeyEnter: 13, KeySpace: 32, KeyLeft: 37, KeyUp: 38, KeyRight: 39, KeyDown: 40, KeyESC: 27 };

.標(biāo)簽控制對象:用于控制、產(chǎn)生html標(biāo)簽,輔助生成對應(yīng)樣式的"控件":

var _HtmlControl =

{

//清空網(wǎng)頁游戲區(qū)域

_ClearArea: function() {

},

//創(chuàng)建一個div

newDiv: function() {

var div = document.createElement("div");

return div;

},

//創(chuàng)建一個指定寬高的按鈕樣式標(biāo)簽

newButton: function(w, h) {

var div = this.newDiv();

div.style.width = w + "px";

div.style.height = h + "px";

div.select = function() {

//被選中時的變化

};

div.unselect = function() {

//沒選中時的樣子

};

return div;

}

//繼續(xù)...

};

.動畫類:用于播放一些游戲跳轉(zhuǎn)動畫:

var Animation = function(endFn) {

//播放動畫

this._play = function() {

//具體怎么放沒有想好。

};

//播放結(jié)束事件

this._palyEnd = endFn || function() {

alert("動畫播放結(jié)束");

};

};

.游戲類:要有一個游戲名,

a.控制:1.邏輯控制、2.鍵盤控制

b.主界面:1.標(biāo)題、2.游戲區(qū)域、3.狀態(tài)顯示區(qū)、4.控制區(qū)

c.動畫:1.開場動畫、2.過關(guān)動畫、3.通關(guān)動畫

d:事件:1.開始、2.結(jié)束。

代碼大致如下:

代碼

var Game = function(name, logicalFn, keyFn) {

//游戲名

this._name = name || "未命名";

this._LControl = logicalFn || function() {

//簡單游戲邏輯控制

};

this._KControl = keyFn || function(event) {

//簡單鍵盤邏輯

};

//開場動畫

this._AnmLoad = new Animation(null);

//過關(guān)動畫

this._AnmNext = new Animation(null);

//通關(guān)動畫

this._AnmEnd = new Animation(null);

};

.游戲列表:就是游戲類的對象列表。

.游戲選擇器:可以是一個游戲類對象。

var _GameChoose = new Game("選擇器", null, null);

.頁面控制:用于注冊頁面事件,接受用戶響應(yīng),并傳遞給游戲選擇器;

代碼

var _PageControl = {

//8.a:線程控制

_ThreadControl: function() {

_GameChoose._LControl();

},

//8.b:鍵盤控制

_KeyControl: function(event) {

_GameChoose._KControl(event);

},

//8.cc.事件注冊

_StartRegedit: function() {

//把this._ThreadControl添加到循環(huán)線程

//把this._KeyControl注冊到document的鍵盤單擊

}

}

最后,到了這一步,貌似就“設(shè)計”完了?暫且不管這是不是設(shè)計,姑且說是一種邊敲代碼邊設(shè)計的設(shè)計吧。不過貌似真的就可行了。當(dāng)然它現(xiàn)在是不能運(yùn)行的。我們先把總體代碼貼出來看一下:

整體代碼

/***

* 1.網(wǎng)頁游戲區(qū)域:

* 2.鍵盤參數(shù)類

* 3.標(biāo)簽類:用于控制、產(chǎn)生html標(biāo)簽

* 4.動畫類:播放動畫,播放結(jié)束事件

* 5.游戲類:游戲名

* a.控制:1.邏輯控制、2.鍵盤控制

* b.主界面:1.標(biāo)題、2.游戲區(qū)域、3.狀態(tài)顯示區(qū)、4.控制區(qū)

* c.動畫:1.開場動畫、2.過關(guān)動畫、3.通關(guān)動畫

* d:事件:1.開始、2.結(jié)束

* 6.游戲列表

* 7.游戲選擇器

* 8.頁面控制:a.線程控制、b.鍵盤控制、c.事件注冊

***/

window.onload = function() {

//----------------------------------------------------

//1.網(wǎng)頁游戲區(qū)域:

var _GameFrame = document.getElementById("GameFrame");

//----------------------------------------------------

//2.鍵盤參數(shù)類:可以根據(jù)需要把鍵值添加進(jìn)來

var _KeyParameters = { KeyEnter: 13, KeySpace: 32, KeyLeft: 37, KeyUp: 38, KeyRight: 39, KeyDown: 40, KeyESC: 27 };

//----------------------------------------------------

//3.標(biāo)簽類:用于控制、產(chǎn)生html標(biāo)簽

var _HtmlControl =

{

//清空網(wǎng)頁游戲區(qū)域

_ClearArea: function() {

},

//創(chuàng)建一個div

newDiv: function() {

var div = document.createElement("div");

return div;

},

//創(chuàng)建一個指定寬高的按鈕樣式標(biāo)簽

newButton: function(w, h) {

var div = this.newDiv();

div.style.width = w + "px";

div.style.height = h + "px";

div.select = function() {

//被選中時的變化

};

div.unselect = function() {

//沒選中時的樣子

};

return div;

}

//繼續(xù)...

};

//----------------------------------------------------

//4.動畫類:播放動畫,播放結(jié)束事件

var Animation = function(endFn) {

//播放動畫

this._play = function() {

};

//播放結(jié)束事件

this._palyEnd = endFn || function() {

alert("動畫播放結(jié)束");

};

};

//----------------------------------------------------

//5.游戲類:

var Game = function(name, logicalFn, keyFn, startFn, endFn) {

//游戲名

this._name = name || "未命名";

//5.a.1:邏輯控制

this._LControl = logicalFn || function() {

//簡單游戲邏輯控制

};

//5.a.2:鍵盤控制

this._KControl = keyFn || function(event) {

//簡單鍵盤邏輯

};

//5.b.1:標(biāo)題區(qū)域

this._FrameTitle;

//5.b.2:游戲區(qū)域

this._FrameMain;

//5.b.3:狀態(tài)顯示區(qū)

this._FrameState;

//5.b.4:控制區(qū)

this._FrameControl;

//5.c.1:開場動畫

this._AnmLoad = new Animation(null);

//5.c.2:過關(guān)動畫

this._AnmNext = new Animation(null);

//5.c.3:通關(guān)動畫

this._AnmEnd = new Animation(null);

//5.d.1:開始

this._Start = startFn || function() {

alert("游戲開始");

};

//5.d.2:結(jié)束

this._End = endFn || function() {

alert("游戲結(jié)束");

};

};

//----------------------------------------------------

//創(chuàng)建游戲

var game1 = new Game("貪吃蛇", null, null);

var game2 = new Game("俄羅斯方塊", null, null);

var game3 = new Game("推箱子", null, null);

var game4 = new Game("賽車", null, null);

var game5 = new Game("坦克大戰(zhàn)", null, null);

//----------------------------------------------------

//6.游戲列表

var _GameList = [game1, game2, game3, game4, game5];

//----------------------------------------------------

//7.游戲選擇器

var _GameChoose = new Game("選擇器", null, null);

//----------------------------------------------------

//8.頁面控制:

var _PageControl = {

//8.a:線程控制

_ThreadControl: function() {

_GameChoose._LControl();

},

//8.b:鍵盤控制

_KeyControl: function(event) {

_GameChoose._KControl(event);

},

//8.cc.事件注冊

_StartRegedit: function() {

//把this._ThreadControl添加到循環(huán)線程

//把this._KeyControl注冊到document的鍵盤單擊

}

}

//----------------------------------------------------

}

就先這樣吧,明天再讓它運(yùn)行一下,順便設(shè)計一下第一個游戲:貪吃蛇。

用同事的一句話喊一下口號:不做權(quán)限設(shè)計,做全國最好的貪吃蛇,汗一個...

總結(jié)

以上是生活随笔為你收集整理的html js 做的小游戏,用js做一个小游戏平台 (一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美xxxxx牲另类人与 | 成人黄色短视频在线观看 | 国产7777777| 亚洲精品视频91 | 原来神马电影免费高清完整版动漫 | 激情网站在线观看 | 日日夜夜国产 | 狠狠做深爱婷婷久久综合一区 | 免费一级网站 | 日韩精品一区二区三区色欲av | 特种兵之深入敌后高清全集免费观看 | 人妻精品久久久久中文字幕69 | 色婷婷导航 | 韩国伦理在线视频 | 精品一区二区三区在线观看 | 自拍视频一区二区 | 亚洲AV成人无码一二三区在线 | 特黄特色特刺激免费播放 | 香蕉成人网 | 日韩精品极品视频免费观看 | 超碰丝袜 | 久久av高潮av无av萌白 | 精品一区二区久久 | av天天色 | 女人一区二区三区 | 亚洲最大激情网 | 毛片在线免费观看网址 | 欧美成人精精品一区二区频 | 狠狠v欧美v日韩v亚洲ⅴ | 亚洲精品久久久蜜桃 | 影音先锋中文字幕在线播放 | 公交上高潮的丁芷晴 | 淫品色影院 | 国产精品自拍av | 五十路中文字幕 | xxxxx在线 | 久久久精品人妻无码专区 | 蜜桃视频导航 | 国产精品一区二区免费在线观看 | 韩日成人 | 999xxxx| 成人开心网 | 亚洲国产成人精品久久 | 欧美日韩在线观看一区 | 视频福利一区 | 91中文字幕在线 | 2021天天干 | 日韩高清一区二区 | 国产精品久久欧美久久一区 | 日本少妇与黑人 | 日本少妇ⅹxxxxx视频 | 黄色1级片 | 午夜精品福利一区二区 | 精品无码三级在线观看视频 | 国产又黄又猛视频 | 黄色永久网站 | 天天爱天天爽 | 亚洲精品国产精品乱码不卡√香蕉 | 久久中文字幕国产 | 国产精品传媒在线 | 天堂av中文 | 成人小说亚洲一区二区三区 | 午夜精品极品粉嫩国产尤物 | 欧美精品一区二区在线播放 | 青青草免费观看视频 | 乳揉みま痴汉4在线播放 | 免费网站www在线观看 | 中文成人无字幕乱码精品区 | 国产亚洲二区 | 久久影院视频 | 国产一区av在线 | 免费看大片a | 国内精品在线观看视频 | 亚洲人成电影一区二区在线 | 国产在线一二 | 亚洲欧美日韩图片 | 久久狠狠高潮亚洲精品 | 国产高清精品在线 | 99热com | 日本妇乱大交xxxxx | 粉嫩av一区二区夜夜嗨 | 日韩美女国产精品 | 97se亚洲综合 | 国产精品一区二区av白丝下载 | a级片在线看 | 色婷婷免费视频 | 波多野结衣av一区二区全免费观看 | 依依激情网| 国产成人麻豆精品午夜在线 | 色播综合网 | 国产黄色免费网站 | hitomi一区二区三区精品 | 风流老熟女一区二区三区 | 99精品视频免费在线观看 | 国产又爽又黄无码无遮挡在线观看 | 麻豆影视免费观看 | 亚洲欧洲在线观看 | 99久久国产综合 | 海角社区在线 |