DOBON.NET DOBON.NETプログラミング掲示板過去ログ

モグラたたきを作っているのですが

環境/言語:[Windows 7 VisualBasic2008express .NET framework 2.0]
分類:[.NET]

2010/08/31(Tue) 22:44:41 編集(投稿者)

始めまして、winvisと申します
いつも、参考にしています
現在、もぐら叩きを作成しているのですが、モグラをたたくごとに小さいモグラの画像を追加で表示していこうと思っているのですが、ひとつのPictureBoxに複数の画像を表示させることは出来るんですか?
できないなら、一個ずつPictureBoxを配置してがんばろうと思っています
Paintイベントで処理すればいくらでも描画出来ます。
返答ありがとうございます
以下のように組んだのですが2列目に表示したら、画像に黒い線が入ってしまうのですがorz
どうしたら、いいんでしょうか?
Dim count As Integer = 0
Dim y As Integer = 0
Dim x As Integer = 0
Private _bmp As Image = Image.FromFile("C:\Users\******\Documents\Visual Studio 2008\Projects\Mogura_tataki_V2\Mogura_tataki_V2\Resources\magura.bmp")
'PictureBox1のイベントハンドラ
Private _bmp2 As Image = Image.FromFile("C:\Users\*****\Documents\Visual Studio 2008\Projects\Mogura_tataki_V2\Mogura_tataki_V2\Resources\magura.bmp")

Private Sub PictureBox1_Paint(ByVal sender As Object, _
ByVal e As System.Windows.Forms.PaintEventArgs) _
Handles PictureBox1.Paint
'DrawImageメソッドで画像を表示する
e.Graphics.DrawImage(_bmp, 0, 0, Me.Width, Me.Height)
Dim g As Graphics = Graphics.FromImage(_bmp)
g.DrawImage(_bmp, x, y, 12, 12)
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Not count = 5 Then
y += 12
PictureBox1.Invalidate()
count += 1
Me.Text = count
Else
y = 0
x += 12
PictureBox1.Invalidate()
count = 0
End If
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox1.Image = _bmp2
End Sub
はじめまして、こんにちは。

正直なところ何をなさりたいのかがよく分からないのですが、とりあえず、PictureBox.Imageプロパティを使うのをやめ、Imageオブジェクトに描画するのもやめ、PictureBox1_Paintメソッド内でe.Graphics.DrawImageを使って二匹のもぐらを描画してみてください。もし一匹目のもぐらが"_bmp"で、二匹目が"_bmp2"であれば、

e.Graphics.DrawImage(_bmp, 0, 0, _bmp.Width, _bmp.Height)
e.Graphics.DrawImage(_bmp2, x, y, _bmp2.Width, _bmp2.Height)

のような感じです(もし一匹目も二匹目も"_bmp"でよければ、両方"_bmp"で結構です)。

コードを拝見する限りでは、失礼ながら、画像の描画の基本的なところをあまり理解されていないのではという印象をもちました(例えば、Graphics.FromImageで作成したGraphicsオブジェクトはDisposeで破棄してください)。また、Meの意味ももしかしたら勘違いされていないでしょうか。老婆心ながら、基本を理解しないまま進めるのは危険だと思いますので、一度復習してみてはいかがでしょうか。
アドバイスありがとうございます、復習してきますorz...
正直、画像の描画は良く分かっていなところが多いです…

DOBON.NET | プログラミング道 | プログラミング掲示板