Swift でアナログクロックを作ってみた

.NET/C# からすると、全体の設計が違っているので、とても戸惑いました。最初は、UIViewに直接描画するのかと思いましたが、秒、分、時それぞれごとにCAShapeLayer に時計の針を描画して、レイヤーの原点を translateしてセンタリングして、さらに時間に合わせて rotate し、で重ね合わせる方法が良さそうです。秒針をスムースに動かすのであれば、Animation を適用すればOK。1

Swift でのタイマー

Timer

objcパターン

新しいパターン1

新しいパターン2

インターバルの単位は秒。0を指定した場合は、0.1mSec。

タイマーの停止:同一スレッド内から、Timer.invalidate()を呼び、RunLoopから削除する。

SKEmitterNode

File -> New -> Fileから、SpriteKit Particle File を追加する。

パラメータを調整する。

CMMotionManager でモーションを取得

デバイスの傾きをCMMotionManagerで取得すれば、水準器みたいなことができる。

Swift のSpriteKitで Collisions, Bitmasks, Physics