- ベストアンサー
キーボードを押したら画像がスクロール
初歩的なことでスミマセン…小4のkunpaです。 今、トップビュー方式のレースゲームを作ろうと思っているんですが、 キーボードの方向キーを押したら、車が動くと同時に画面がスクロールする 方法、教えてもらえないでしょうか。 ホントに初歩的なことでご迷惑おかけいたします。すみません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
以前に画像の移動のサンプルを載せてます。 参考になれば見てください。
その他の回答 (1)
- honiyon
- ベストアンサー率37% (331/872)
こんにちは、honiyonです。 マップのスクロールの仕方について解答します。 スクロールには様々な方法がありますが、一番簡単なのは大きなマップを用意し、画面にはその一部分だけ表示する方法です。 まず、新聞紙を床に広げて見てください。 そして、右手の人差し指と親指でマルを作ってください。 そしてそのマルの中から新聞紙を見てください。 そのマルがパソコンの画面で、新聞紙が背景の画像です。 そのように大きな画像を用意して、その一部分だけを表示します。 手のマルを右に動かしながら、新聞を見てください。 新聞紙(背景画像)がスクロールしているように見えませんか? この原理を使えばスクロールが出来ます。 ではこれをちょっとプログラムっぽく説明します。 1000x1000ドットの背景画像を読み込み、そのうちの (0,0)-(100,100)を画面に表示します。 (0,0)-(100,100)という書き方は、LINE文と一緒です。(X1,Y1)-(X2,Y2)って感じです。 四角形があるとすると、 (X1,Y1) ↓ココ □□□□□□ □□□□□□ □□□□□□ □□□□□□ □□□□□□←ココ(X2,Y2) です。(こんな説明で分かるかな^^;) 右にスクロールさせるなら、背景画像の表示させる位置を少しずつ右にずらしていきます。(X1とX2の値を大きくしていく) (1,0)-(101,100) (2,0)-(102,100) (3,0)-(103,100) ... 同じようにして下なら、Y1と Y2の値を多くしていきます。 うまく説明できないのですが...(^^; こんな感じになります。 まずは、車を抜きにして、マップをスクロールさせるだけのサンプルプログラムを作ってみましょう。 この原理を自分なりにプログラムにしてみてください。 因みにこの利点は仕組みが簡単なこと、そして欠点は大きな画像を読み込まないといけないので、大きいマップを作ろうとするとメモリをたくさん使ってしまうところです。 参考になれば幸いです(..
補足
分かりやすいご回答をありがとうございます。 コードそのもの、または参考URLをつけてもらえれば もっとうれしいです。(^^; わがまま言ってすみません・・・
お礼
どうも、同じような質問をしている人がいるとは思いませんでした。 コードを書いてくれるとは嬉しいです。 コードは絵を変えればいいだけですね。 これからも宜しくお願いします。