lufylegend
也是第一次寫rpg遊戲,主要是興趣使然
遊戲體驗地址(未完成)git
遊戲圖層設計github
var layers = { back: null, mapview: null, things: null, effect: null, talk: null, };
遊戲圖層分爲了五層。
分別是底層、地圖層、物品層、數據展現層、對話層。設計
遊戲數據存儲code
globalData = { mapCol: 11, mapRow: 11, size: 32, floor: 0, playerInfo: { HP: 1000, ATK: 10, DEF: 10, money: 0, XP: 0, status: 'ArrowDown', key: { yellow: 1, blue: 1, red: 1 } }, data: [{ playerPosition: { x: 5, y: 10 }, map: [ [1, 2, 2, 2, 2, 0, 2, 2, 2, 2, 1], [1, 2, 2, 2, 2, 0, 2, 2, 2, 2, 1], [1, 2, 2, 2, 2, 0, 2, 2, 2, 2, 1], [1, 2, 2, 2, 2, 0, 2, 2, 2, 2, 1], [1, 2, 2, 2, 2, 0, 2, 2, 2, 2, 1], [1, 2, 2, 2, 2, 0, 2, 2, 2, 2, 1], [1, 1, 2, 2, 2, 0, 2, 2, 2, 1, 1], [1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1], [3, 1, 3, 1, 0, 0, 0, 1, 3, 1, 3], [3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3], [3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3] ], things: [ [0, 0, 0, 0, 0, "goods_0_1", 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, "npc3", 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ] }] }
將遊戲涉及的全部數據存放到一個對象中,能夠在後期很方便的作遊戲進度保存。
其中playerInfo
爲角色的屬性信息。data
爲全部地圖的信息對象
配置文件
由於物品的功能和怪物的屬性是不固定的,因此須要手動編輯怪物的屬性以及定義物品拾取的handel
方法遊戲
var configGoods = { 'goods_0_0': { x: 0, y: 0, handel: function() { globalData.floor--; gameInfo.floor.text = '第' + globalData.floor + '層'; drawInit(); } } } var configChara = { 'monster0': { y: 6, HP: 50, ATK: 20, DEF: 1, money: 1, XP: 1 } }