Swift4 Day91:Angry birds憤怒鳥5
Swift4 / iOS11 / 2018.04.16–2018.5.8/SpriteKit實作專案
我終於考完期中考了,但還有畢業考跟畢業專題阻撓我的iOS修煉之路😂
Angry birds緩慢地持續更新中(我今天看了一下git我從3/19號就開始寫了,自己真的外務耽誤自己好多,要趕快抓回以前常常更新的感覺),今天也是早上上班下午上課晚上寫畢業專題,現在半夜快兩點才在寫這篇文。我盡力在假日把整個Angry birds寫完~~~謝謝大家,還有人寄信問我怎麼沒更新Angry birds太感動了居然有人在看,讓我趕快發文+分享一下瑣事吧🙆
最近實習的公司業務蒸蒸日上,雖然說是實習,但感覺自己根本是正職嘛,很感謝主管很信任我,總是讓我擁有很大的決定權,沒想到上班會是這麼開心的事,很幸運遇到很棒的夥伴,自己跟公司都快速成長的感覺非常棒!
話說前幾天公司需要我幫忙把新的合作夥伴的內容放到網站上,需要讓客戶案子呈現的GIF檔案加上iphone外框,然後再放到網站上,但我發現轉換工具壞掉了。
我就打開Xcode把GIF檔加上去,參考魏巍老師的播放 GIF 動態圖檔 (使用 Swift 4),然後用模擬器打開直接錄,我每次能寫程式解決問題都覺得超開心的,我明明是marketing intern但上班居然寫程式😂😂😂
接下來計畫要去申請Appworks school,期待一整年了希望會上❤️
Angry Birds 18 — Menu Scene
先import老師提供的SpriteKitButton.swift檔案與圖片,然後再MenuScene加上setupMenu放上剛剛的button,再打開畫面就會呈現presentMenuScene()
Angry Birds 19 — Level Scene
從function中傳資料一開始,action: goToGameSceneFor, index: level
到goToGameSceneFor(level:Int)
讓level帶入,sceneName = “GameScene_\(level)”
再present(scene: gameScene),就會再點選不同數字時跳入不同關卡
例如:點選1時帶入GameScene_1
Angry Birds 20 — New Levels:建立新關卡
先選擇GameScene_1>File>Duplicate>建立一個新檔案命名GameScene_2.sks,要確認custom class是設定在gameScene中
修改的物體的擺設之類的就可以成為新的關卡了
Angry Birds 21 — Animation
let flyingFrames:[SKTexture]應用
原本圖片是放在New Folder,但要做動畫所以要建立Sprite Atlas,把你的圖都丟進去,標號也要標好,因為要用程式抓圖,從1抓到4左右。
新增一個swift檔案,AnimationHelper,利用這個swift讓影格會從0+到count,創造出會動的動畫樣子。
在Bird的class中加上AnimationHelper中的效果,
didSet是指在屬性發生變化後,更新一下flying的屬性,可以用於界定鳥在此時是否該跑動畫。(e.g.飛的時候跑動畫)
run就可以加Action,removeAllActions()就可以讓動畫停止。
完整程式碼在這每個commit都可以對照命名找到相對的程式碼,有時候沒po文,偷偷更新github代表在寫,想要累積多一點再po😻