Swift4 Day86:Angry bird憤怒鳥1
Swift4 / iOS11 / 2018.03.21
Published in
3 min readMar 21, 2018
dAngry Birds 1 — App Template
Angry Birds 2 — TileMap
放背景跟BirdTileSet.sks,建構基本地圖
Angry Birds 3 — Camera Node:遊戲鏡頭畫面移動
設定gameCamera
可以看到原本設定是aspectFill,在scaleMode的地方按著command在選擇jump to definition,可以看到鏡頭的多種選擇:fill、aspectFill、aspectFit、resizeFill
選擇鏡頭在.scaleMode = .resizeFill
Angry Birds 4 — Panning:拖曳移動
利用@objc func pan(sender:UIPanGestureRecognizer)跟func setupGestureRecognizers()兩個function讓gameCamera跟著手勢移動
在手勢移動時,frame的移動計算方式,+-的方式是跟拖曳的方向有關
frame的原點在左上方(0,0),(500,35)則在右下側。
延伸閱讀資料:frame和bounds的区别
Angry Birds 5 — Camera Constraints
但是利用Panning拖曳移動時,會超出背景範圍,到黑色的背景。因此建立一個cocoa touch class選擇SKCameraNode,做客製化鏡頭。