Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
ブロック崩しについての質問
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=9762#CommentId15608
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
TAKASI
 (学生)
投稿日時
2010/8/22 00:14:46
VB2008でブロック崩しを作っているのですが、玉は動くようになり次に自機を動かそうと思いやってみたのですが動きません。
もう一つプロジェクトを作って自機を動かす文だけでやってみるときちんと動きます。
あと、keydownイベント内にブレークポイントを作ってみたのですが反応はありませんでした。
長くなってしまうのでballmoveとkeydownイベントだけにしました。簡単に言うとボタン1が押されるとタイマーが動き出し、タイマーが刻むたびにballmove()関数がうごきます。
何が問題だと思われますか?何でもいいのでアドバイスお願いします
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Dim g As Graphics = Pic1.CreateGraphics()
g.DrawImage(picback, zikiX, zikiY, rect, GraphicsUnit.Pixel)
Select Case e.KeyCode
Case Keys.Left : zikiX -= 3
Case Keys.Right : zikiX += 3
End Select
g.DrawImage(ziki, zikiX, zikiY)
g.Dispose()
End Sub
Private Sub ballmove()
Dim g As Graphics = Pic1.CreateGraphics()
rec.X = x : rec.Y = y : rec.Width = 28 : rec.Height = 28
g.DrawImage(picback, x, y, rec, GraphicsUnit.Pixel)
g.DrawImage(ziki, zikiX, zikiY)
If x + 28 >= Pic1.Width Then
flag_x = False
ElseIf x < 1 And flag_x = False Then
flag_x = True
End If
If y + 28 >= Pic1.Height Then
flag_y = False
ElseIf y < 1 And flag_y = False Then
flag_y = True
End If
If flag_x = True The
x = x + 3
Else
x = x - 3
End If
If flag_y = True Then
y = y + 3
Else
y = y - 3
End If
g.DrawImage(tama, x, y)
g.Dispose()
End Sub