dnjiro’s 9VAe blog

誰でもアニメが作れる無料ソフト9VAeきゅうべえ開発者のブログ

9VAeきゅうべえ iPad版の画面が出た

9VAeきゅうべえとは、フリーのアニメエディタだ。

こちらからダウンロードできるよ。

qiita.com

このソフトの、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に移植したい人は、これはおすすめ。

 

という事で、このプロジェクトを改造して

とりあえず、下の画面がでた。

f:id:dnjiro:20170826164309p:plain

今まででわかった事

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 でタイマー描画をする方法がわからん。

 

タイマー描画ができないと、アニメーション再生ができないので、このままうまくいけるかどうかちょっと不安。まだ、だいぶ時間がかかりそう。