最初はモードの名前だけ渡しておき、都度選択次第インスタンスを生成する、という方式だったのだが、本来の動作に近づけるため、予めインスタンスを生成しておいて、配列として与えるようにした。
これにより、一つの画面は同時に2面以上表示できない、というF-35本来のモードを再現できる。
また、インスタンスを参照として持っているわけだから、別の画面に移動しても表示内容が維持されるし、一旦閉じても同じ画面で復帰ができる。C++だとポインタでインスタンスを保持すれば同様の動作ができるし、ユーザーとしてもいちいち表示を復帰させる手間もないし、プログラムを書く側としても、設定を保存したり復帰させたりするコードを書く必要がないから、作りやすい。
また、1つのクラスから複数のインスタンスを渡せば、同じ画面を、設定を変えて表示することも可能になる。例えば、武装関係の表示は1面しかできないが、戦術状況画面は最大3面程度まで表示できるようだ。やろうと思えば、右側にフルスクリーンでNorth Upの先述状況図を表示し、左側の右上にはHead Upで短距離、左上にはHead Upで中距離、下側の4箇所にはEOTSや兵装やRWRの表示を行う、ということもできるはず。
しかし、F-35のパネルの写真はたいていTSDが写ってるけど、そういえばNorth Upの図って見たことない気がするなぁ。
F-35のユーザーインターフェースはなかなかおもしろそうだ。まぁ、「コンピューターの操作に手間取ってる間にやられました」じゃ、国が無くなることだってあり得るわけだから、考えうる限りの問題は潰してあるんだろうし、使いづらいUIな訳がない。
表示内容の変更は、ウインドウ左上のタイトルをタップしてMENU POPUOPを表示し、そこから必要なウインドウをタップする、という操作だが、HOTASでも操作できそうな気がする。
タッチパネルで操作してもたいした手間じゃないけど、HOTASで操作できたほうが便利なときもあるだろうし、タッチパネルが反応しなくなっても、HOTASでなら操作できる、という状況も想定できるだろうし。
とりあえず、ある程度は動くようになったから、もうちょっと実用的なものを作りたいなぁ。
衛星追尾カメラのコントロールソフト、作り直すか。アレどんなインターフェースだっけなぁ。それを探すところからか。。。前回は秋に作ってすぐ寒くなってしまったから、今年はしっかり衛星ハンティングやりたい。
0 件のコメント:
コメントを投稿