こるだのさえずり

技術関係、創作関係。

【CocosCreatorV1.2.2】Maskの不具合対応のため大幅仕様変更【絶望】

諦めました。
結局、大幅な仕様変更をすることに。
f:id:boemusan:20160924025618p:plain



Ver1.2.2でも解決していなかったMask問題

前回の記事のMaskコンポーネントAndroidでの不具合ですが、Ver1.2.2になっても解決していませんでした。

AndroidでMaskが使えないことに、当初は怒りのようなものを感じていましたが
少しずつ呆れのような感情に変わってきました。
CCに対しても、自分に対しても。
私自身、これに適切な対処ができないのです。
Maskなんて、CocosCreatorのスクリプト内で自作するのは、私にはかなり難易度が高いです。
諦めました。
そして、回り道へ出発です。



f:id:boemusan:20160924025922p:plain
こちらは、ToDoリストアプリ「Estimate」のToDo追加時の画面で、これは変更前のものです。
この時間、分、秒はそれぞれスクロールビュー + Maskです(絶望)
これらの部分をMaskの機能なしで実装する方法を考えたのですが、全く思いつきませんでした。
全画面ではなくウィンドウっぽく出て来るので、マスクがあるように見えるくり抜きのフレームを使ったとしても、
フレームの外まで伸びたコンテンツ(この場合時間の「23」、「24」とか)がはみ出して表示されてしまいます。

したがって、時間入力の方式自体を変えました。

正直、以前からもっといい方法ないかと考えてましたし、
このアプリは数秒とか数分のToDoを作ってもらうためのアプリなのに、タイムピッカーはそれと整合性が無いと感じていました。
ドラム方式やスライダーも考えたのですが、結局は10分以内の数値を選ぶのに苦労するでしょうし
個人的に、これらは案外ユーザビリティ良くないと思います。
ドラム方式はユニークすぎて直感的に操作できないので、UIとして微妙だと思う。
そこで考案した時間入力方式が、こちら。

f:id:boemusan:20160924025618p:plain
(ついでにCC1.2.2のGUIも写しました)

色々考えたのですが、左右のボタンで1つずつ変更+テンプレートナンバーを配置っていう形にしました。
タイマーやアラームのアプリにおいて、テンプレートを用意する事はわりと有効な戦略だと思います。いくつか実装しているアプリも存在します。
実際にタイマーやアラームを使うとき、よく使う値っていうのはあります。そして、本当に時間入力は面倒なだけですから。
テンプレのボタンは、最低限身長にならずユーザが押せると思う大きさにしました。
具体的には、画面幅のみ固定の540x(960)で60x60にしました。
ボタンの大きさに関しては自分のiPhone6で何度か試してますが、ゲーム以外のある程度落ち着いて押せる状況では、この大きさ以下だとたまにタッチミスします。

(余談)ちなみに計算してみると
iPhone6の解像度の横幅は750で、750は540の1.3888...倍なので、60*1.3888... = 83.3333...pxです。
これを実際の大きさにしてみると・・・
画面が4.7インチですが・・・具体的な画面の長さが軽く調べた感じだと地味に載ってないですね。画面のみでないなら、67.1mmだそうですが。
画面が67mmだとすると、0.067/750*83.3333 = 0.00744417 = 7.44417mmですか。
実際に端末で触っててもそうですが、指先と同じくらいの大きさですね。

こんな感じで、大幅な仕様変更で対処中です。
あとは、ToDoのリスト自体もMask使ってましたから、そこの修正です。
ただし、これは一番背後にあるほぼ全画面のものなので、スクロール対象のコンテンツ(ToDoノード)がはみ出すのは画面外になるので、少しの変更で済みそうです。

あ、そうそう。
最後になりますが、CC1.2.2自体は触った感じ良さげです。
Ver1.2からはグラフィックの描画が高速になったそうです。
CCの性質上、これはおそらくエディタ自体にも影響していると思われます。
現に、明らかにエディタの処理が早くなったと感じます。特にプロパティやシーンビューですね。
記事のタイトルだけみたら、CC1.2.2は絶望みたいになってますが
Maskには絶望してますが、その他は相変わらず素晴らしいです。