この記事で扱っていること
- StarWarsのように閉じる方法
を紹介しています。
注意:すべてのエラーを確認しているわけではないので、記事の内容を実装する際には自己責任でお願いします。また、エラー配線は適当な部分があるので適宜修正してください。
以前、別の記事で、StarWarsの始まりのオープニングクロールの様子をまねた文字表示のやり方を紹介していました。
一方で、StarWarsは、物語が終わる時の表現にも特徴があり、画面表示が円形の中側にあってその円の半径がどんどん小さくなってやがて全体が暗転するといった演出があります。
いわゆるトランジションの一種ですが、この演出をLabVIEWで行う方法を紹介していきます。
どんな結果になるか
フロントパネルには2Dピクチャがあり、プログラム終了、つまり画面暗転を開始させるボタンがあります。

何か表示したいものが元々表示されていて、終了ボタンを押すと、円が収束する形で画面が暗転していきます。

プログラムの構造
特定の形の暗転を実装するために、マスク作成の関数を使用し、暗転時に使用する特定の形を何か適当な色で塗りつぶしておいて、その色をマスクに指定することで、あとはその特定の形の大きさを小さくして、全体を暗転後の色にしてしまう、というプログラムを書きます。

ピクチャ変化のチカチカを防ぐ
LabVIEWでピクチャを扱う際に、短い時間内でピクチャ全体を毎回指定して再描画するような動作となると、デフォルトの状態では画面がチカチカ(指定していないのに真っ白な画像が挿入されたような見た目になる)ことがあると思います。
この挙動については、ピクチャに対して、スムーズアップデートの設定を有効にすることで抑えることができます。
(この設定をすることでパフォーマンスが落ちることがあるようですが、今回のようなプログラムではパフォーマンス面で特に気になるほどの影響があることはないようです)

本記事では、LabVIEWで、StarWarsのように画像を閉じる方法を紹介しました。
以前の、StarWarsのオープニングクロールのような表現と合わせると、プログラムの始まりと終わりをStarWars風に表現することができます。
実用的かはともかく、ただありきたりのプログラムにするのではなくて「遊び」のあるプログラムにしたいときに参考になればと思います。
ここまで読んでいただきありがとうございました。


コメント