動画再生とゲームっぽいものが必要な納期めちゃきつ案件があって、Core Graphicsでやろうとしたら円を動かすだけで苦労したのでC4を使ってみた。
ドキュメントは親切ではないけどサンプルやチュートリアルは結構ある。習うより慣れろ、見て盗めな感じがクリエイティブコーディングっぽい。
セットアップ
インストール方法はいくつかある。ターミナルを使ったが、手順はGit for Macの場合と同じ。
GitHubからcloneしてどこかに保存しておき、Xcodeプロジェクトで「Add Files to "プロジェクト名"」からC4iOS.xcodeprojを選び、TARGETSの「Embedded Binaries」に「C4.framework」を追加して(作成したプロジェクト配下のC4.frameworkiOSを選ぶ)ビルドする。
ViewControllerに「import C4」と書いてC4をインポートし、親クラスをCanvasControllerに変更すると使えるようになる。
viewDidLoad()とdidReceiveMemoryWarning()を削除し、setup()を作る。これが最初に呼ばれる関数になる。
import UIKit import C4 class ViewController: CanvasController { override func setup() { let circle: Circle = Circle(center: canvas.center, radius: 100) canvas.add(circle) } }
実機で試す際にC4IOS.xcodeprojのCode Signing Identityの設定でつまづいたがDebug、Release共に「Don't Code Sign」で「Any iOS SDK」を「iOS Developer」にしたら動かせた。
メモ
- 作成した図形などはcanvasというプロパティにadd()で追加すると表示される。
- Rectangleの角丸を取りたい場合はcornerにSize()を代入する。
- 線(strokeColor)を消したい場合はclearを代入する。
- CanvasControllerはUIViewController、CanvasViewはUIViewを継承してるので、通常のiOS開発の作法に従って書けるのがいい。
- TextShapeで日本語が表示されなかったのでUILabelを使った。
- Processingみたいにメインのループ関数があってその中で色々処理を書くというよりはFlash(Animate)に近い。
- Processingみたいに一定間隔でアニメーションを実行したい場合はTimerクラスを使う。
何か作ったらまた書く。
0 件のコメント:
コメントを投稿