¿Me podría ayudar alguien?

17/06/2006 - 02:28 por Novato | Informe spam
Hola. Estoy haciendo una especie de juego y he puesto un dibujo en un
picturebox. El problema que tengo es que no sé como hacer para que cuando yo
pase el ratón me se dibuje un cuadradito en esa zona y al pasar unos 10
pixeles con el ratón sea un zona diferente y se encuadre esa zona. Además si
pulsas te da un número según la zona. Lo he intentado de varias maneras pero
sólo me se ocurría cadenas de if y querría saber si hay alguna forma mucho
más sencilla o que tenga menos volumen. No sé si me habré expresado bien por
si acaso pongo un ejemplo que sirve. El ejemplo es como si fuése el terreno
de simcity. Me refiero para seleccionar una parcela.

Preguntas similare

Leer las respuestas

#1 Carlos Gómez
18/06/2006 - 07:30 | Informe spam
Novato wrote:

Hola. Estoy haciendo una especie de juego y he puesto un dibujo en un
picturebox. El problema que tengo es que no sé como hacer para que cuando
yo pase el ratón me se dibuje un cuadradito en esa zona y al pasar unos 10
pixeles con el ratón sea un zona diferente y se encuadre esa zona. Además
si pulsas te da un número según la zona. Lo he intentado de varias maneras
pero sólo me se ocurría cadenas de if y querría saber si hay alguna forma
mucho más sencilla o que tenga menos volumen. No sé si me habré expresado
bien por si acaso pongo un ejemplo que sirve. El ejemplo es como si fuése
el terreno de simcity. Me refiero para seleccionar una parcela.



Los eventos mouse (mouseEnter, ...) dan la posicion del puntero (e.X y e.Y)
con origen de coordenadas la esquina del formulario. A partir de esa
posicion puedes realizar un cuadrado usando Graphics ya que al ser de 10x10
el cuadrado que quieres dibujar podrias indicar el origen del cuadrado con

(e.X - PictureBox1.Location.X)/10 , (e.Y - PictureBox1.Location.Y)/10

y para indicar el número de parcela con MouseClick la parcela sería

(e.X - PictureBox1.Location.X) Mod 10, (e.Y - PictureBox1.Location.Y) Mod 10

Lo he escrito de memoria, así que el código puede tener errores
Desde Aguadulce - España
Carlos Gomez
Respuesta Responder a este mensaje
#2 LucasAction
18/06/2006 - 14:02 | Informe spam
Hola Carlos. Gracias por tu respuesta. El caso es que lo que me has
dicho de MouseClick no me ha servido puesto que no defenía una parcela
con un número exacto sino que quizás después de haberle dado a otro
sitio si volvía a darle al primero me salían números diferentes.
Así pues he tenido que hacer lo del if aunque si tu puedes solucionar
el error de ese trozo de código que me has dado me serviría mucho
para otros proyectos y para sustituir el if porque sería mucho más
claro. Aquí te dejo un trozo de la cadena if para que veas porque la
quiero sustituir:
If y = 40 Then
If x = 30 Then
Comprobar("A1")
ElseIf x = 56 Then
Comprobar("B1")
ElseIf x = 82 Then
Comprobar("C1")
ElseIf x = 108 Then
Comprobar("D1")
ElseIf x = 134 Then
Comprobar("E1")
ElseIf x = 160 Then
Comprobar("F1")
ElseIf x = 186 Then
Comprobar("G1")
ElseIf x = 212 Then
Comprobar("H1")
ElseIf x = 238 Then
Comprobar("I1")
ElseIf x = 264 Then
Comprobar("J1")
ElseIf x = 290 Then
Comprobar("K1")
ElseIf x = 316 Then
Comprobar("L1")
End If
End If

A también te quería comentar lo del mousemove. Ese código no me
sirve porque no quiero que se me desplaze cada pixel sinó cada x
píxeles. Quizás fue un error mio que no lo supe utilizar aunque por
suerte lo conseguí dibujar con se produce el mousedown con esto:
Dim xo, yo As Integer

xo = e.X \ 26
yo = e.Y \ 24

Ficha.Left = Tablero.Left + xo * 26
Ficha.Top = Tablero.Top + yo * 24

Bueno de todas formas muchas gracias por tu ayuda y espero que puedas
solucionar el problema de pulsar en una parcela puesto que me interesa
mucho
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida