嗨,大家好,我是 Lacie,您現在收看的是 Swift - 來吧!鐵人三十項 系列的第三十篇
在鐵人賽完結後,為保持持續做筆記的習慣
將會在我的 Medium 繼續撰寫文章,若有興趣者可前往觀看。
標題好像有點聳動
但也正是我想表達的,從小到大,你經歷了無數個結束,例如:幼稚園畢業、小學畢業、國中畢業、高中畢業、大學畢業、研究所畢業、博士畢業、基測結束、學測結束、指考結束、研究所考試結束、面試結束等等,都是所謂的形式上的結束,相信有很多人都會告訴你,這只是一個階段的結束,你還是要繼續學習。
沒錯,鐵人賽的結束也是一樣的道理,更何況各位身為軟體工程師,就已經背負著終身學習的包袱,故今天繼續來寫點小東西吧 XD
大家在新手階段普遍都會做過一個東西,叫作 TapCounter
就是一個數字和一個按鈕,你按下按鈕後會一直增加那個數字
因應鐵人賽結束的倒數,來幫它加上一個倒數計時的小機制吧:
先將畫面上的分數、時間、按鈕連結到程式碼上:
將 Tap 及 Reset 的 IBAction 拉好:
因應遊戲機制設置兩種不同狀態(做的事情不同)
設置初始值、初始狀態、Timer:
實作倒數計時 @objc func:
將其放入 scheduledTimer 中、區間為 1、重複:
遊戲狀態分為未開始、遊戲中
未開始狀態按下去後:
遊戲中狀態按下去後:
按下 Reset 後,將分數重設為 0、時間重設為 5、停止倒數、遊戲狀態設為未開始、Tap 按鈕恢復成可以按:
完整程式碼可以參考我的 GitHub
最後恭喜大家順利完賽,YA。