dnjiro’s 9VAe blog

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

9VAeきゅうべえiPad版、データ保存はSVGを標準にする

9VAeきゅうべえiPad版開発記録

 

今日は、線の閉じる、開くとか、線の入力位置とか、細かい修正を行う。

イベント処理でハマった点

こんなバグが発生。四角や円はちゃんと入力した位置に描けるのに、自由線が描けない。形は正しいが、場所がおかしい。必ず画面左上を開始点として入力されてしまう。マウスとタッチのイベントの違いが原因だった。マウスは、ボタンダウンする前の位置がわかっているが、タッチではわからない。突然新しい場所から始まる。自由線入力だけ、開始点はボタンダウンする直前の位置を見て処理していた。その点が入力されないため、開始点がいつも左上(初期値)になっていた。

 

タッチの処理をする時に、直前にその場所まで移動するイベントを発生させることにして解決。1点のタッチで選択するなど、他の機能も動くようになった。

 

ファイル選択処理は自作した

ファイルのロード、セーブを作るために、iOSファイルシステムを勉強

https://developer.apple.com/jp/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html

 

文書は、Documentフォルダに保存するらしい、また 

UIDocumentPickerViewController 

というのがあるみたいだ。iCloudにデータ保存するのに使うらしい。

[iOS 8] UIDocumentPickerViewController で iCloud ドキュメントを開く | Developers.IO

 

ローカルに保存するのはこちら

iOSアプリのファイル保存について - Qiita

iOSファイルシステム

[iOS] ファイルの扱い ファイルの操作、入出力、リソースファイルなど | Developers.IO

どうも、ファイル選択は自分で作らないといけないみたいだ。保存フォルダを選ぶという考え方がないと言うことか。仕方がないので、とりあえず、アラートを使って自分で簡単なファイル選択を作ることにする。

 

ファイル開く、保存、閉じるなどのメニューも作成。アクションシートの処理の振り分け方法は以下を参照。

【Objective-C】1つのViewでUIActionSheetを複数使った場合のメソッドの振り分け方法 - creativi.tea

 

iOSシミュレータの使い方。プライバシー設定は変更できないみたい。

今さら聞けないiOSシミュレータの使い方&機能まとめ - Qiita

 

ドキュメントアプリの作り方、この作法に従って作ると良いのだろうけど、移植の範疇を超えるので後回し

https://developer.apple.com/jp/documentation/DocumentBasedAppPGiOS.pdf

 

単純だけど、アラートを使ったロード・セーブが完成。

f:id:dnjiro:20170910080640p:plain

GIFアニメについて

9VAeきゅうべえは、GIFアニメを簡単に作成できるのが特長だが、iPhoneのカメラロールではアニメGIFが再生できないらしい。これが問題になっていて、メールで送信ボタンを押してメール作成画面で見る方法が紹介されている。

iPhoneでGIFが見れない!WEBや端末上で再生する方法とは?

iOS11では、アニメGIFがカメラロールで再生できるようになるらしい。

【iOS 11】iPhoneの写真アプリがGIFアニメ動画に対応~カメラロールから再生可能に

 

APNGの時代になるのはまだまだ先と言うことかな。カメラロールで再生できない。

APNGメーカーPro / フルカラーアニメーションや動くスタンプの作成に|iPhone最新人気アプリランキング【iOS-App】

と言うことで、アニメGIFをカメラロールに作成することを目標にしよう。

APNG出力は遅いしやめる。

 

SVG保存について

ファイルの保存は、SVGにすることにした。SVGの中に EVAデータも埋め込んでおき、読み出した時元のデータを復元する。共通のドキュメントフォルダに保存できるようにしたい。

日本語ファイル名をつけると、SVGの中のファイル名が文字化けしていたが、ShiftJISとUTF8変換の実装を行うと正しくなった。

上書き保存でもSVGに保存されるように修正しないといかん。