FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayudame Con DrawGrid
Hola amigos veran estoy aprendiendo a usar esta herramienta DrawGrid para hacer un juego tipo pacman...
Ya conseguí poner todas las imágenes pero necesito que se muevan y se me ocurrio cambiar de celda cada que se presiona una tecla.. El problema es que no se como puedo saber en que celda esta el muñequito lo que me da que siempre se mueve desde la misma posición. Cómo puedo saber donde esta la Imagen1 o como hago que se desplace normalmente? Espero sus respuestas. |
#2
|
||||
|
||||
Hola danielingo y bienvenido a Club Delphi
Como a todos los que se inician te invitamos a que leas nuestra guía de estilo. Creo que vas a tener que explicar con mas detalles el problema, al menos yo no entiendo claramente la situación. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
Haber si aclaro un poco
1) En un DrawGrid puse una imagen en cada casilla (Con canvas y drawcell).
2) Quise que una de las imagenes (Imagen1) se moviera a otra casilla al presionar un boton .... para eso use el evento OnKeypress de el drawgrid. 3) Logre hacer un procedimiento para cambiar de imagen de una casilla a la siguiente para simular que un muñequito se movia. 4) El procedimiento es este: void mover(TImage *a,TImage *b,TDrawGrid *v, char direc, int f, int c) { if (direc=='w') { dibujar(b,v,f-1,c); dibujar(a,v,f,c); f=f-1; } if (direc=='a') { dibujar(b,v,f,c-1); dibujar(a,v,f,c); c=c-1; } } Donde la funcion dibujar coloca la imagen en la casilla (con canvas y drawcell)... El problema es que mi procedimiento utiliza la posicion de la imagen a cambiar.. y el problema es que no se como hacer para saber en que casilla quedo el muñequito lo que me da que siempre se mueve de la posicion que le doy. Cualquier duda me preguntan. Gracias |
#4
|
||||
|
||||
Hola danielingo.
Al no poder ver la totalidad del código sigo sin entenderte claramente, pero te pongo un ejemplo de como haría para almacenar la posición actual de la imagen del muñeco por si te aporta alguna idea: Código:
TPoint PDoll; // Almacena coordenadas actuales de la imágen void __fastcall TForm1::DrawGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State) { if (State.Contains(gdSelected)) { PDoll = (Point)(ACol,ARow); // Guardar posición del muñeco DrawGrid1->Canvas->StretchDraw(Rect, Image1->Picture->Graphic); // Pintarlo } else { // Limpiar celda DrawGrid1->Canvas->Brush->Color = DrawGrid1->Color; DrawGrid1->Canvas->FillRect(Rect); } } // Mostrar posición actual del muñeco void __fastcall TForm1::Button1Click(TObject *Sender) { ShowMessage(Format("El muñeco esta en las coordenadas: (%d , %d)", ARRAYOFCONST(((int)PDoll.x,(int)PDoll.y)))); } Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta Imagen DrawGrid | bostero_eep | Varios | 3 | 24-06-2012 19:19:34 |
Ayudame Casimiro...o similares... | AzidRain | Linux | 8 | 07-11-2007 12:43:14 |
Uso de drawgrid | drykea | Varios | 2 | 16-08-2007 15:58:30 |
Graficos en un DrawGrid | MAXIUM | Gráficos | 2 | 14-11-2005 01:29:41 |
Ayudame con OnMouseMove | JANDREGUE | Varios | 8 | 09-04-2005 23:26:52 |
|