掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
とりあえずピンの配置(ボウリングゲーム) (ID:142791)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> Dim pinpozition As List(Of Point) = New List(Of Point)( ) 'ピンの位置 > Dim pintype As List(Of PictureBox) = New List(Of PictureBox)( ) 'ピンの状態(立っているか、倒れているか) List はコレクションの一種ですが、配列ではありませんよ。 それと、ポジションのスペルは pozition ではなく position です。 また、「立っているかどうか」を保持させるのであれば、それは PictureBox ではなく、Boolean で表した方が良いとおもいます。 「立っている時の画像/倒れている時の画像」を表す情報と、 「立っているのか/倒れているのか」を表す情報は、別物ですから。 > 10本のピンを画面に配置していくのですが、ここではたと思考が止まってしまいました。 ゲーム画面を描画する前に、まずは、ピンの状態を定義しましょう。 ・ピンは何本ありますか? 10本なら、配列なり List なりに “10個分の領域”を準備しておく必要があります。 ・それぞれのピンの座標は決まっていますか? 倒れているかどうかの状態は? 決まっているなら、まずはそれらの状態をセットしておきましょう。 たとえば、Point の配列を 10 個用意する場合には、 Dim x(9) As Point などと記述します。これにより、x(0) 〜 x(9) までの 10 個分の Point が用意されますので、 x(0) = New Point(100, 100) x(1) = New Point(100, 150) x(2) = New Point(100, 200) x(3) = New Point(150, 100) x(4) = New Point(150, 150) x(5) = New Point(150, 200) などとして、それぞれのピンの座標をセットしておきます。 一方、配列の代わりに List(Of Point) を使う場合には、New で器を用意した後、 Dim x As New List(Of Point)() x.Add(New Point(100, 100)) x.Add(New Point(100, 150)) x.Add(New Point(100, 200)) x.Add(New Point(150, 100)) x.Add(New Point(150, 150)) x.Add(New Point(150, 200)) などとして、それぞれの座標をセットします。 次に、それらに併せて画面を描画します。 > Dim bmp As Bitmap = New Bitmap(PictureBox1.Width, PictureBox1.Height) > Dim g As Graphics = Graphics.FromImage(bmp) この「Graphics.FromImage(Bitmap)」で Graphics を得る手法は、 主に背景画面などの動きの無い(動きの少ない)領域のために用いると良いでしょう。 一方、ボールやピンなど、動きのあるデータは Paint イベントの e.Graphics で 得られる Graphics に対して描画した方が良いかと思います。 > img = Image.FromFile("\pin5.gif") ’立っているピンの画像 > img2 = Image.FromFile("\xpin1a.gif") ’倒れているピンの画像 一つの PictureBox に、それぞれのピンを描画していく場合には、 それぞれのピン座標に、上記の画像いずれかを .DrawImage メソッドで 描画していくことになります。 一方、ピンそれぞれに PictureBox を 1 つずつ用意しておき、 それぞれの PictureBox の .Image を切り替えるという手法もあります。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.