Programación General > C++ Builder
¿como Utilizar El Reloj En Builder?
alucard0000:
Saludos!!!! B)
Necesito hacer un juego basico en un programa visual, lo estoy haciendo en builder, ya hice q se moviera una imagen con las teclas 4(izquierda),8(arriba),6(derecha),2(abajo),7(diagonal arriba izquierda),9(diagonal arriba derecha),1(diagonal abajo izquierda),3(diagonal abajo derecha), intento hacer que otra imagen este corriendo continuamente en la ventana pero no se como hacerle,
/////////////////////////////////////////////////////////////////////////////////////////
int x,aux;
Image3->Left=592;
for(aux=592;aux<=0;aux--)
{
Image3->Left=(Image3->Left)-1;
}
/////////////////////////////////////////////////////////////////////////////////////////
Este es el codigo que utilizo para tratar de hacer q la imagen sea de derecha a izquierda pero no c si lo hace,pero es muy rapido y no se ve o no lo hace.
Intente meter un reloj para retrazar la ejecucion pero no supe como me prodrian ayudar????????
Tambien quisiera saber, si me pueden auxiliar, para que la imagen no sepase del margen de la ventana por q al presionar los botones sigue corriendo, pero ya fuera de la ventana, despues de llegar al margen.
de antemano,muchas gracias. :rolleyes: :rolleyes:
Este es el codigo:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int flag=0;
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "PERFGRAP"
#pragma resource "*.dfm"
TForm1 *Form1;
int aux_izquierda=0,aux_arriba=0,aux_derecha=0,aux_abajo=0;
int aux_izq_arriba=0,aux_izq_abajo=0,aux_derecha_arriba=0,aux_derecha_abajo=0;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
{
//mover el objeto a la izquierda
if(Key=='4')
{
if(Key =='4' && (((aux_izquierda%2)==0)))
{ Image2->Visible=false ;
Image1->Visible=true ;
Image1->Left=(Image2->Left)-5 ;
aux_izquierda=aux_izquierda+1;
}
else
{
if(Key =='4'&& (((aux_izquierda%2)!=0)))
Image1->Visible=false ;
Image2->Visible=true ;
Image2->Left=(Image1->Left)-10 ;
aux_izquierda=aux_izquierda+1;
}
}
//mover el objeto a la derecha
if(Key=='6')
{
if(Key =='6' && (((aux_derecha%2)==0)))
{ Image2->Visible=false ;
Image1->Visible=true ;
Image1->Left=(Image2->Left)+5 ;
aux_derecha=aux_derecha+1;
}
else
{
if(Key =='6'&& (((aux_derecha%2)!=0)))
Image1->Visible=false ;
Image2->Visible=true ;
Image2->Left=(Image1->Left)+5 ;
aux_derecha=aux_derecha+1;
}
}
//mover el objeto arriba
if(Key=='8')
{
if(Key =='8' && (((aux_arriba%2)==0)))
{ Image2->Visible=false ;
Image1->Visible=true ;
Image1->Top=(Image2->Top)-5 ;
aux_arriba=aux_arriba+1;
}
else
{
if(Key =='8'&& (((aux_arriba%2)!=0)))
Image1->Visible=false ;
Image2->Visible=true ;
Image2->Top=(Image1->Top)-5 ;
aux_arriba=aux_arriba+1;
}
}
//mover el objeto abajo
if(Key=='2')
{
if(Key =='2' && (((aux_arriba%2)==0)))
{ Image2->Visible=false ;
Image1->Visible=true ;
Image1->Top=(Image2->Top)+5 ;
aux_arriba=aux_arriba+1;
}
else
{
if(Key =='2'&& (((aux_arriba%2)!=0)))
Image1->Visible=false ;
Image2->Visible=true ;
Image2->Top=(Image1->Top)+5 ;
aux_arriba=aux_arriba+1;
}
}
//mover el objeto izquierda arriba
if(Key=='7')
{
if(Key =='7' && (((aux_izq_arriba%2)==0)))
{ Image2->Visible=false ;
Image1->Visible=true ;
Image1->Top=(Image2->Top)-5;
Image1->Left=(Image2->Left)-5;
aux_izq_arriba=aux_izq_arriba+1;
}
else
{
if(Key =='7'&& (((aux_izq_arriba%2)!=0)))
Image1->Visible=false ;
Image2->Visible=true ;
Image2->Top=(Image1->Top)-5 ;
Image2->Left=(Image1->Left)-5 ;
aux_izq_arriba=aux_izq_arriba+1;
}
}
//mover el objeto izquierda abajo
if(Key=='1')
{
if(Key =='1' && (((aux_izq_abajo%2)==0)))
{ Image2->Visible=false ;
Image1->Visible=true ;
Image1->Top=(Image2->Top)+5;
Image1->Left=(Image2->Left)-5;
aux_izq_abajo=aux_izq_abajo+1;
}
else
{
if(Key =='1'&& (((aux_izq_abajo%2)!=0)))
Image1->Visible=false ;
Image2->Visible=true ;
Image2->Top=(Image1->Top)+5 ;
Image2->Left=(Image1->Left)-5 ;
aux_izq_abajo=aux_izq_abajo+1;
}
}
//mover el objeto derecha arriba
if(Key=='9')
{
if(Key =='9' && (((aux_derecha_arriba%2)==0)))
{ Image2->Visible=false ;
Image1->Visible=true ;
Image1->Top=(Image2->Top)-5;
Image1->Left=(Image2->Left)+5;
aux_derecha_arriba=aux_derecha_arriba+1;
}
else
{
if(Key =='9'&& (((aux_derecha_arriba%2)!=0)))
Image1->Visible=false ;
Image2->Visible=true ;
Image2->Top=(Image1->Top)-5 ;
Image2->Left=(Image1->Left)+5 ;
aux_derecha_arriba=aux_derecha_arriba+1;
}
}
//mover el objeto derecha abajo
if(Key=='3')
{
if(Key =='3' && (((aux_derecha_abajo%2)==0)))
{ Image2->Visible=false ;
Image1->Visible=true ;
Image1->Top=(Image2->Top)+5;
Image1->Left=(Image2->Left)+5;
aux_derecha_abajo=aux_derecha_abajo+1;
}
else
{
if(Key =='3'&& (((aux_derecha_abajo%2)!=0)))
Image1->Visible=false ;
Image2->Visible=true ;
Image2->Top=(Image1->Top)+5 ;
Image2->Left=(Image1->Left)+5 ;
aux_derecha_abajo=aux_derecha_abajo+1;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{
int x,aux;
if (flag==1)
{
Image3->Left=592;
/*randomize();
x= random (100);*/
for(aux=592;aux<=0;aux--)
{
Image3->Left=(Image3->Left)-1;
}
}
}
Eternal Idol:
¿Probaste con Sleep? Es una funcion de la API de Windows.
alucard0000:
Gracias por responder.
No la he probado,me podrias decir como la utilizo o como es su estructura???, por q no la habia escuchado.
muchisimas gracais ;)
Eternal Idol:
Solo tiene un parametro que indica los milisegundos a esperar:
Sleep
weps84:
pana me imagino que te refieres al timer, puedes hacer lo siguiente, coloca una variable booleana que se llame por ejemplo teclado, que cuando sea verdadero haga todo el codigo que hiciste. ok entonces cuando se ejecute esas opciones por ejemplo a la izquierda, el timer tiene una propiedad llamada enabled, inicializala en true y que la variable teclado cambie a falso para que cuando muevas una tecla no haga nada, y cuando se ejecute el evento onTimer has que la propiedad enabled pase a falso y teclado a verdadero intentalo asi, ahhhhh por defecto el timer en la propiedad enabled debe llevar falso.
Navegación
[#] Página Siguiente
Ir a la versión completa