画面内でフォームをあちこち移動させています。単純に同じ速さで動き続けるだけでは面白くないので動き方に変化を付けました。マウスカーソルで追いかけると、それに反応して逃げるような動作をします。
開発の背景
仕事ではWindowsFormの中で数字か文字を表示するだけの動きのない画面しか組んでいなかったので、気分転換にゲームのようなプログラムも組んでみたいと思い、とりあえず単純に画面上を画像が自由に移動するプログラムを組んでみました。描画ソフトを持っていなかったので、移動体のイメージはExcelで作成しました。移動体の種類によってその特徴が現れるような動作をさせたいと思ったので、動作パターンを思い描き
- ササっと移動する
- しばらく立ち止まる
- 方向を変える
の3つの動作を組み合わせることにしました。最初に作ったときは単純に制限時間の間、動き続けるという機能しかありませんでした。その後、動作検証している間に、ただ勝手に動いているのを見ているだけではなく、外からの刺激で動作が変わるような機能を追加しようと思い、改造することにしました。動作制御は2つ。画面の端を超えると線対称で方向が変わります。マウスカーソルが動いていると逆方向に向きます(動いていないときはマウスカーソルの存在を無視して画面内を自由に動き回ります)。
動作の表現
単純に移動させるだけだと無機質な動きになり、生き物のような動きにはなりません。
イメージ作成
先にも述べましたが、イラストツールを持っていないのでどうやって移動体のイメージを作画しようかと思い、試行錯誤の結果、Excelで書くことに落ち着きました。
コメント