土曜日, 12月 24, 2016

C4を使う

動画再生とゲームっぽいものが必要な納期めちゃきつ案件があって、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に変更すると使えるようになる(ここではC4CanvasControllerとなっているが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)に近い。

何か作ったらまた書く。

0 件のコメント: