2014年1月12日日曜日

#05.西暦入力パーツを動かす

とりあえず西暦入力パーツを動かしてみた。


6つのボタンの上列が増加、下列が減少。年、月、日ごとにボタンがあり、1つづ加算/減算する操作。
(静止画なので、なにも変わり映えないないケドw)



ちょっとだけ凝ってみたのは、実際のダイアルの回転時は実時間を要するような動作もできるように実装してみた。

例えば、0000 00 00 から画面のような1984 06 28に進める時、普通は瞬間的に6つの数字は目的のダイアル数字位置に回転できる。

これを1目盛りずつ(360度÷10=36度ずつ)回してゆき、目的の数字に到達して停止するという処理。サウンド効果とあわせればちょっとそれっぽい演出もできそうかも・・・と。


角度をもっと滑らかに動かすのも面白そうだし、停止時のギアのバッククラッシュのブレ等の挙動もやろうとしたが・・・あぶないあぶない;また横道にそれそうなのでこれくらいで;
※ダイアル的に車などのメータは上方向に0,1,2,3・・・と増加配置となっているが、今回は逆順に配置してる。

まぁ・・・あまり最初から凝ると先が続かないので。



それよりも西暦のインクリメント/デクリメントの動作ですね。つまり月末が30か31日か、インクリメントで次は1日にするとか。例えば2014/1/1からデクリメントすれば前年の2013/12/31とするような処理。
つまり指定年月の月日数をきちんと把握する必要がある。


この辺は以前ActionScript3にてバイオリズムを作る際に検討した結果、ユリウス暦を使うべしという結論に達した。
Unix timeは1970/1/1より昔は表現できないし、非常に長いスケールの時間空間を表すにはユリウス暦が比較的扱いやすそうであったので。
ということで、西暦入力パーツの最低限の動作は確保したので、西暦演算関係のクラスをActiveScriptのソースから掘り出さないと~。




ところで、 Unityもご他聞に洩れず、結構不安定。
例えば、

終了操作をしてもUnityが終わらない
  → 手動でタスクを強制終了。
MonoDevelopエディタは特定のタイミングで漢字FEPをオンすると全ての文字入力不可に陥り復帰不能になる
  → メニューバーは生きてるので保存して終了、再起動で直る。
Assetがたまにおかしい。エラーになるはずがないスクリプトのエラーが消えない
  → 当該スクリプトをコピーして別ファイルに保存、当該スクリプトをAssetから削除し、再度新規で作り直してコピペすると直る。


等々挙動が怪しい動きは結構ある。この手のアプリでは「よくあるコト」なのでしょうがない。比較的マシな方かもしれない。

こまめな保存は重要かもですね。

リビジョンも管理しておいたほうが、何かの際に戻せるしね。


0 件のコメント:

コメントを投稿