9VAeきゅうべえとは、フリーのアニメエディタだ。
こちらからダウンロードできるよ。
このソフトの、iPad版を作ろうとしているんだけど、
1。iOS開発については、全くの初心者。
2。9VAeきゅうべえの、MacOS版はある。
どうも、Swiftを使うと、古い iPadでは動かないらしいのと、Objective-Cを
使う方がCのライブラリを呼ぶのは易しいらしいので、Objective-Cで作る事にした。
こういうわからない問題に対応する時は、
1。もっとも近いサンプルを探す
2。少しずつ改造していく
というアプローチを取るのが手っ取りばやい。
という事で、色々サンプルを渡り歩いた結果、次のサンプルを発見。
How To Make A Simple Drawing App with UIKit
プロジェクトもダウンロードできるし、図の描き方、タッチイベントの取得、処理の仕方などが含まれている。Objective-Cの勉強をするには、おすすめ。CのプログラムをiPhoneに移植したい人は、これはおすすめ。
という事で、このプロジェクトを改造して
とりあえず、下の画面がでた。
今まででわかった事
1。Mac の Quartzの座標系は左下が原点だったが、iOSでは左上に変更された。そのため、Quartzを使うと画像や文字が上下反転する。Windowsの描画は左上が原点で、Windows版とMac版がある 9VAeきゅうべえはマクロの中身を変更するだけで対応できそう。アフィン変換で上下反転して図形転送、文字描画しないといけない。
2。色の指定が、MacOSと違う?
CGContextSetFillColor で4つfloatを指定だとうまく色がつかなくて、
CGContextSetRGBFillColor でRGBを明示して指定するとうまく色が出るようになった。
4。UIKitでは、
- (void)viewDidLoad の中に9VAeライブラリの初期化を入れた。9VAeの動作に必要な情報を全部保持しておいて、この中で処理する。
5。画面の描画は、context を9VAeライブラリに渡し、タッチイベント処理の中で描画させる。基本はこれで良さそうだが、できた画面を取り出すところがまだ怪しい。
6。UIKit でタイマー描画をする方法がわからん。
タイマー描画ができないと、アニメーション再生ができないので、このままうまくいけるかどうかちょっと不安。まだ、だいぶ時間がかかりそう。