- ベストアンサー
VB2008でPictureBoxをキーボードを使って自由に動かす方法とは?
- VB2008を使ってPictureBoxに取り込んだイラストをキーボードを使って自由に動かしたいと思っています。現状、全く同時に→と↑のキーを押せば右上に動くようになりますが、右上に動く方法を知りたいです。
- また、キーを押し続けると一度動いて止まり、その後に再び動き続けるという問題があります。この問題を解決し、止まらずに動くようにしたいです。
- 実行する際はデザインにPictureBoxを表示し、イラストを適当に入れてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
4方向のフラグをForm1クラスに準備してTimerで動かすようにしてみましょう dim bUP, bDown, bLeft, bRight as Boolean と宣言しておきます FormのKeyUpとKeyDownを ---- FormのKeyUpイベント Select Case e.KeyCode case Keys.Up bUp = False case Keys.Down bDown = False case Keys.Left bLeft = False case Keys.Right bRight = False end select ---- FormのKeyDown イベント Select Case e.KeyCode case Keys.Up bUp = True case Keys.Down bDown = True case Keys.Left bLeft = True case Keys.Right bRight = True end select ---- FormのLoadイベント Me.keyPreview = True Timer1.Enabled = True --- Timer1のTickイベント dim pt as Point = PictureBox1.Location if bUp or bDown then pt.Y -= IIF( bUp, 10, 0 ) pt.Y += IIF( bDown, 10, 0 ) end if if bLeft or bRight then pt.X -= IIF( bLeft, 10, 0 ) pt.X += IIF( bRight, 10, 0 ) end if PictureBox1.Location = pt といた具合でどうでしょう
お礼
回答ありがとうございます。 教えていただいたとおりに行うと、正しくできました。 このソースコードの意味はこれから勉強していきたいと思います。 また質問させていただくときには、よろしくお願いします。