Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-11-2013
danielingo danielingo is offline
Registrado
NULL
 
Registrado: nov 2013
Posts: 2
Poder: 0
danielingo Va por buen camino
Unhappy 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.
Responder Con Cita
  #2  
Antiguo 29-11-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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 ....
Responder Con Cita
  #3  
Antiguo 30-11-2013
danielingo danielingo is offline
Registrado
NULL
 
Registrado: nov 2013
Posts: 2
Poder: 0
danielingo Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 30-11-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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))));
}
En el ejemplo, la imagen (muñeco) va cambiando de celda mediante el click del mouse sobre alguna de ellas.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 22:36:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi