iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 20
0
Modern Web

關於你關於我關於phaser系列 第 20

Day 20 塔防 module 修改篇(或許該說痛苦篇?)

  • 分享至 

  • xImage
  •  

當然,模組化完是希望可以按照自己的期望去新增很多東西,但是事與願違,這邊告訴大家爲什麼

從我上次的給的 github 可以看到一個 Money 的檔案,這就是我去嘗試加的東西,我嘗試去新增了兩個東西(剩下的就留給之後的我了),我將塔防的金錢元素加進來,打死敵人會有錢,蓋塔會花錢,但是當我寫了這個檔案後發現,我的耦合度非常高(我畫面要渲染,所以主程式會有一個,塔有一個,敵人有一個,連地圖都有一個(因爲是地圖負責判斷能不能蓋,能就蓋並且要扣錢)),變成我的參數傳來傳去,當我要 new 出一個新的物件就會很長

//猜猜我傳了幾個參數去 new 出物件
let myTurret = new Phaser.Class(Turret(enemies, turretAttackDistance, turretShootingSpeed, bulletSpeed, bulletSurviveTime, bulletInjury, this.physics))

一開始我也是將子彈放在 main 檔 (index.js) 裡面 , 後來覺得子彈應該是由炮塔產生,所以會將 new 出子彈放入炮塔的類別裡面,就看到上面一大串的東西都在一起

然而這樣還有兩個很大的問題

  1. 我沒辦法很順利的 new 出不同參數的敵人與炮塔
  2. 沒有辦法很順利的控制金錢(升級)與敵人強度(關卡)

因爲這一些的關係,所以我覺得我的塔防雖然有雛形,但沒辦法做到一個完整的程度,在我詢問過有人跟我說,有時候遊戲的互動(使用者介面)會比遊戲本身的規則還要重要,而顯然的在流程與架構的部分,並沒有好好的去思考與架構,這受限於我本身對於 phaser 3 還不熟練,再來是也對於架構並沒有很好的概念,但至少透過這個遊戲的雛形,我知道是有辦法做出一個完整且好玩的遊戲的,就等我之後更強一點再來重構了!!!


上一篇
Day 19 塔防 module 實作篇
下一篇
Day 21 連線五子棋 ~ 關於socket
系列文
關於你關於我關於phaser30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言