![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Espero no haberte confundido demasiado, la manera que a mi se me ocurrió para representar el tablero fue por medio de una matriz de NxN, en cada entrada puedes colocar un número digamos 0,1,2, etc. Estos números corresponden a un índice en la lista de imagenes que previamente tienes cargadas.
La matriz tiene esta apariencia. 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 De tal manera que en donde aparezca un número 0 se dibujara el fondo del mar y con los demás números se dibujarán otros objetos. El código que te muestro a continuación transforma los valores de la matriz en coordenadas dentro del Canvas (lienzo) del control PaintBox.
El doble for recorre todas las entradas de la matriz y uso el método Draw(Canvas,X,Y,Indice) del ImageList para dibujar la imagen sobre el canvas del PaintBox, observa que el indice se obtiene de las entradas de la matriz. Bueno, esta podría ser una forma de representarlo pero no es la única. Saludos |
|
#2
|
|||
|
|||
|
Ante nada, gracias por seguir respondiendo.
Ahora, lo que no entiendo de eso hector, es por que cuando haces el metodo draw, para pasar las coordenadas J e I , se las pasas multiplicando por ANCHO y ALTO. Pd: igual, voy a tratar de resolverlo como me habian dicho al principio, pero esta bueno saber como tendria que hacer para mejorar el programa (ya sea como decia marcoszorrilla, o de la manera en que decis vos) |
|
#3
|
||||
|
||||
|
Lo único que hago es una transformación (una escala)
Los valores de I y de J son los indices de la matriz, los ciclos for sirven para obtener coordenadas X,Y Código:
Los indices de la matriz transpuesta son los siguientes: (0,0) (1,0) (2,0) ... (9,0) (0,1) (1,1) ... (9,1) : : : : (0,9) (1,9) ... (9,9) Pero en coordenadas X, Y del canvas lo que necesito es lo siguiente: (suponiendo que las imagenes son de tamaño 32x32) ( 0, 0) (32, 0) (64, 0) ... (288, 0) ( 0,32) (32,32) ... (288,32) : : : : ( 0,288) (32,288) ... (288,288) Este tipo de procedimientos son muy comunes cuando se trata de escalar, piensa en tu matriz como un pequeño cuadrado de dimensión 9x9 y deseas transformarlo en un cuadrado más grande de dimensión 288x288, por esta razón necesitas escalarlo (multiplicarlo por un factor). Saludos Última edición por Héctor Randolph fecha: 11-02-2006 a las 00:54:21. |
|
#4
|
|||
|
|||
|
Ahhhhh!!! ahora si!!!, gracias de nuevo hector!!
__________________
El sabio no dice todo lo que piensa, pero piensa todo lo que dice... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|