Ver Mensaje Individual
  #3  
Antiguo 12-08-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por astur_racing
Estoy haciendo el juego de undir la flota con el Delphi 5, tengo un Timage para representar el mar y 2 TShape, uno para cuando el usuario acierte en el barco y otro para cuando falle, mi pregunta es: ¿Como puedo hacer para que encima del timage aparezca un dibujo (el Timage que representa el mar es un dibujo azul que tiene dibujadas unas celdas, lo que quiero es poner una X en cada celda donde pinche el usuario y no haya un barco y un O donde si exista el barco).
Hay una forma muy sencilla, y sólo tienes que hacer unos pequeños cambios.
Ya tienes un TImage con el mar, OK.
En lugar de dos TShape, coloca otros dos TImage uno con la X y otro con la O. Los colocas transparentes. TImage2=X TImage3=O
Con éstas tres imágenes ya lo tienes todo.

Para colocar la X sobre el tablero sólo debes hacer lo siguiente:
Código Delphi [-]
  Image1.Canvas.Draw(100, 100, Image2.Picture.Bitmap);
y para colocar la 0, pues algo similar.
Código Delphi [-]
  Image1.Canvas.Draw(100, 100, Image3.Picture.Bitmap);

Lo único que te queda es calcular correctamente las posiciones de visualización, en lugar de 100,100 como está en el ejemplo, tu deberás poner las coordenadas de tu casilla; No debe ser muy difícil.
Una vez que sepas en qué casilla el usuario ha pulsado, debes hacer la llamada con esas coordenadas.

Espero haberme explicado bien.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita