投稿者 kk1  (中学生) 投稿日時 2010/4/29 23:26:45
http://www.teu.ac.jp/chiit/~jsuzuki/doc/pnc2007/n02/index.html#init
↑のサイトのシューティングゲームを参考にしながら、改造してアクションゲームを作ってます

しかし、ジャンプを再現しようと思って、コードを下のようにプログラミングしました

    Private Sub Timer1_Tick(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Timer1.Tick
        '画面を黒でクリアする 
        g.Clear(Color.FromArgb(0, 0, 0))
        '各種キー入力の受付(プレイヤーが生きているときのみ) 
        If zibunSonzai = True Then
            If keyUe = True Then
                zibunY = zibunY - 32 '「上」が押されたので,プレイヤーを上に移動 
                Timer2.Enabled = True
                If zibunY < 0 Then
                    zibunY = 0  'プレイヤーが画面の上からはみ出ないようにする 
                End If
                keyUe = False
            End If

           (以下中略)

    End Sub

    Private Sub Timer2_Tick(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Timer2.Tick
        zibunY = zibunY + 32
        Timer2.Enabled = False
    End Sub


しかし、デバックして実際にキーを入力すると、たまにジャンプしたキャラクターが飛びあがったまま降りてこない現象がたまにあります。(キー長押ししたりすると・・)

マリオブラザーズや、星のカービィなどのようなジャンプを再現するには、どのように直したらよいでしょうか?