Hola!.

Pues de un ejemplo parecido, acabe haciendo este.

Lo cierto es que tengo un problema, cuando quiero ponerme con algo (aprender un poco mas de Python),
me empiezan a surgir ideas con gambas y me vuelvo a gambas y dejo lo otro.

No puedo aparcarlo, que luego se me va de la memoria.O eso, o apunto todo lo que quiero hacer.
Pero no puedes, es como si estuvieras en la luna.


Pues bien. En este ejemplo. Movemos el cursor sobre un DrawingArea y hacemos click izquierdo, saldrá
un orificio de bala sobre el drawingArea y además reproduce un sonido. Saldrán tantos orificios como "balazos" demos.
Si es que falta poner una imagen de fondo...jeje.

comocolador

Le puse colador, por lo de "como un colador".

Aquí esta el código:

Private sonidodisparo As Sound
Private canal1 As Channel
Private orificio As New Picture
Private blanco As New Picture

Private coordenadadibu As New Point[]

Public Sub _new()

End

Public Sub Form_Open()

Randomize

Channels.Count = 1
canal1 = Channels[0]
sonidodisparo = New Sound("Bullet_ricochet.wav")

orificio = Picture.Load("orificio_bala.png")
blanco = Picture.Load("punto2.png")

Me.Center
Me.Cursor = New Cursor(blanco, blanco.Width / 2, blanco.Height / 2)
Me.Mouse = Mouse.Custom

Timer1.Start

End

Public Sub Pizarra_Draw()

DibujarOrificio()

End

Public Sub Timer1_Timer()
Pizarra.Refresh
End

Public Sub Pizarra_MouseDown()

Dim coordenada As Point

coordenada = New Point(Mouse.X, Mouse.Y)
coordenadadibu.Add(coordenada)
canal1.Play(sonidodisparo)

End

Public Sub DibujarOrificio()

Dim coordenada As Point

For Each coordenada In coordenadadibu
'TODO: Centrar mejor
Draw.Picture(orificio, coordenada.X - orificio.Width / 2, coordenada.Y - orificio.Height / 2, orificio.Width, orificio.Height)
Next

End

Public Sub btnSalir_Click()

Me.Close

End


Nota1: No me sale del todo centrado el disparo con respecto a la posición del cursor.
La clase cursor tiene una cosa curiosa, que podemos centrar mas o menos el dibujo que sera nuestro cursor.

Nota2: Fijaros que a veces la aplicación no finaliza aunque salgamos, debe ser cosa del componente gb.sdl.sound

Ahora solo faltan los blancos y conocer en la posición que están cuando hacemos MouseDown, fácil!.

Saludos