Objective-C Second Stageということで本筋のAdvent Calenderではあつかわれなさそうなニッチな話題を一つ。
##はじめに(C4 is 何?)
C4とは主にメディアやグラフィックを扱うことに特化したiOS用のフレームワークです。
公式ページはこちらC4:http://www.c4ios.com/
complexMovie from [C4] on Vimeo.
はじめてのC4こちらにC4についての公式ページの概要を訳した記事を上げてます。
では、C4の何がすごいのでしょうか。
##だれでもクリエイティブコーディング?(ただしiPhoneで)
C4を触りはじめて、最初にiOSの開発をはじめたころ、手元にある実機でプログラムが動いたことがすごくうれしかったことを思い出しました。
C4はコードをかいてものをつくるという感覚を素直にたのしめるフレームワークだと思います。まさにクリエイティブコーディング!!
###こんな人におすすめ
-
iPhoneアプリを開発しようとしたはいいけどXcodeだけ入れて止まっている人。
-
TableViewとかNavigationControllerとか知らんけどアプリつくりたいねんという人。
-
何か◯書いてその中に写真とか動画とか入れて音鳴らしてくるくるまわしたいな〜とか思っている人。
冗談のような話ですが、こんな人たちに本気でC4を触ってみることをオススメいたします。
##とにかくつくってみた。(ひとりアドベントカレンダー)
とはいえ、クリエイティブとか簡単とかそんな口先だけの話だけではだれも信じてくれませんので、C4のチュートリアルを参考にしていっちょ作ってみました。
ちなみに、すこしずつ更新していっているのはひとりで寂しくC4についてのアドベントカレンダーを行っていたからです。
###C4でAudioPlayerをつくる
こうやって並べてみるとボリュームが多い気もしますが、実装する量は少ないです。
手っ取り早く、C4で音を使ってみる分には#3、#4、#5あたりをご覧になってはいかがかと思います。
#3 C4で音楽を(割りと自由に)取り回すーC4でAudio Playerをつくる(1)
#4 C4で音楽にあわせてオブジェクトを変化させるーC4でAudio Playerをつくる(2)
#5 C4で音楽の再生・停止をコントロールするーC4でAudio Playerをつくる(3)
#6 複数の音源から再生したい音源を選ぶーC4でAudio Playerをつくる(4)
#7 複数の音源から再生したい音源を選ぶ(その2)ーC4でAudio Playerをつくる(5)
#8 複数の音源から再生したい音源を選ぶ(補足)ーC4でAudio Playerをつくる(6)
###C4でカメラアプリをつくる
こちらは残念ながらC4のフレームワーク自体が実装中ということもあり、なかなか微妙なところではあるのですが、カメラの撮影、エフェクトといった部分をひと通り試してみました。
#9 とにかく簡単にカメラで撮影してみるーC4でエフェクト付きカメラをつくる(1)
#10 使えるエフェクトはまだ限られているーC4でエフェクト付きカメラをつくる(2)
###画像のパスデータを操作する
こちらはひとりアドベントカレンダーの続きで書いていこうと思います。
以下、パスデータを使ってどんなものができるかというサンプル動画です。
これはかなり楽しいです。
Morphing C4Shapes from [C4] on Vimeo.
##C4を試してみて
###教育・創作のはじめの一歩に
いままさにプログラムをはじめんとしている学生さん・もしくはもっと若い子どもたちが身近なデバイスで思考錯誤できることのメリットは計り知れないと思います。
特にC4を使って写真、音楽、動画といったメディアを、様々なインタラクションによって操作するiPhone iPadアプリは、最初につくるクリエイティブな作品にもってこいでしょう。
###フレームワークの中身にもぐって学ぶ
C4の説明をするときによくopenFrameworksのObjective-C版かなーみたいな話になるわけですが、ソースコードがオープンにされており、だれでも中身を見ることができるので、次にピュアなObjective-Cで実装するときの参考にしたり、ベストプラクティスな部分を学ぶこともできます。
###これから貢献していける
先ほどのカメラアプリの例でも挙げましたが、C4のフレームワークはまだ実装段階である部分も多いです。しかしその分自分たちもこういう機能があったらという部分で貢献できる可能性があります。
詳しくはGitHub[C4Framework / C4iOS]で!
以上です。引き続きひとりアドベントカレンダーは更新されていくと思いますので、更新があれば随時こちらの記事もアップデートしていきます。