Entries

Ads by Google

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

-件のコメント

コメントの投稿

新規
投稿した内容は管理者にだけ閲覧出来ます

-件のトラックバック

トラックバックURL
http://hinagis.blog33.fc2.com/tb.php/29-8239149a
この記事に対してトラックバックを送信する(FC2ブログユーザー)

アニメーション その6

アニメーション その5で右へ移動するプログラムを作成しました。
このプログラムはカーソルキーと連動させていませんのでどの方向キーを入力しても右にしか移動しませんでした。

今回は押されたカーソルキーの方向へ画像を移動させるプログラムを作成していきます。
移動速度を(32,0)とすることにより、右へ移動したのであれば、(-32,0)にすれば左、(0、-32)なら上、(0,32)なら下に移動します。
後は方向キーを押したときの動作に移動速度を設定すれば完了です。

ただ、画像切り替え処理のところではX座標の移動しかコードを記述していませんでしたから、上下を押しても変化しません。
よって、上下も変化するようにコードを追加しておく必要があります。

アニメーションその5のコードをちょっと変更するだけでカーソルキーと連動させることができます。
コードは↓のような感じです。
Public Class Form1
  (省略)
  Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
    Dim g As Graphics = e.Graphics
    Dim nowTime As Double = swatch.ElapsedMilliseconds / 1000.0 'Paintメソッドを実行した瞬間の時間
    Dim elapsedTime As Double = nowTime - lastTime '経過時間
    lastTime = nowTime

    '画像切り替え処理
    iNo = CInt(Fix((nowTime * 2) Mod 4.0F))
    loc.X += vel.X * CSng(elapsedTime) 'X座標の移動
    loc.Y += vel.Y * CSng(elapsedTime) 'Y座標の移動

    '画像描画処理
    g.DrawImage(img, loc.X, loc.Y, imgRect(direct, iNo), GraphicsUnit.Pixel)
    Me.Invalidate() '強制再描画
  End Sub

  Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
    Select Case e.KeyCode
      Case Keys.Up
        direct = Direction.up
        vel = New PointF(0, -32) '上へ32ピクセル/秒
      Case Keys.Down
        direct = Direction.down
        vel = New PointF(0, 32) '下へ32ピクセル/秒
      Case Keys.Left
        direct = Direction.left
        vel = New PointF(-32, 0) '左へ32ピクセル/秒
      Case Keys.Right
        direct = Direction.right
        vel = New PointF(32, 0) '右へ32ピクセル/秒
      End Select
  End Sub
End Class

これでカーソルキーを押した方向に移動するプログラムができました。
ただ、このままでは常に移動し続けてしまうプログラムになっていますから、そこを修正していく必要があります。
やはりカーソルキーを1回押したら、1コマだけ移動するべきです。
勝手に2コマも3コマも移動するのは違和感があります。

ということで、次回は1コマだけ入力された方向に移動させるプログラムを作成していきます。

0件のコメント

コメントの投稿

新規
投稿した内容は管理者にだけ閲覧出来ます

0件のトラックバック

トラックバックURL
http://hinagis.blog33.fc2.com/tb.php/29-8239149a
この記事に対してトラックバックを送信する(FC2ブログユーザー)

Appendix

最新記事

検索フォーム

月別アーカイブ

売れ筋ランキング

お楽しみ用

アニメグッズ

プロフィール

Author:ひなぎ
VB2005&2008でゲーム作成中

FC2カウンター

Powered By FC2ブログ

今すぐブログを作ろう!

Powered By FC2ブログ

FC2ブログ