Ir al contenido



Juego Rescatando al Burrito.


  • Por favor identifícate para responder
127 respuestas en este tema

#101 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 08 diciembre 2008 - 04:57

Hola Carlos.

    Mira esto:


delphi
  1. uses
  2.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  3.   Dialogs, jpeg, ExtCtrls;
  4.  
  5. type
  6.   TForm1 = class(TForm)
  7.     Image1: TImage;
  8.     Panel1: TPanel;
  9.     procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  10.       Y: Integer);
  11.   private
  12.     { Private declarations }
  13.   public
  14.     { Public declarations }
  15.   end;
  16. var
  17.   Form1: TForm1;
  18. implementation
  19. {$R *.dfm}
  20. procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  21.   Y: Integer);
  22. begin
  23. Panel1.Caption:= IntToStr(X);
  24. end;
  25.  
  26. end.



La cosa es las cordenadas del escenario (imagen de fondo) y su propiedad Left (X). Ya despues de eso lo que uno quiera hacer, decirle con un click del raton que se active el seguimiento. Ahora en la vida real se le pone el target al enemigo y si este lo mantiene por un tiempo corto dentro del target entonces el target cambia de color y le da el pase a poder hacer el disparo.En ese caso el misil tendra que seguir la propiedad (Left) del enemigo y como el misil estara en un timer mas rapido que el enemigo pues lo alcanza.

Un Saludo.

PD:No se si me explique bien?

#102 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 08 diciembre 2008 - 08:01

Ok aqui tengo una idea:


delphi
  1. uses
  2.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  3.   Dialogs, jpeg, ExtCtrls, VrControls, VrBlotter, StdCtrls, VrCounter;
  4.  
  5. type
  6.   TForm1 = class(TForm)
  7.     Image1: TImage;
  8.     Timer1: TTimer;
  9.     Label1: TLabel;
  10.     Target: TVrCounter;
  11.     Button1: TButton;
  12.     procedure Timer1Timer(Sender: TObject);
  13.     procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  14.       Y: Integer);
  15.     procedure Button1Click(Sender: TObject);
  16.   private
  17.     { Private declarations }
  18.   public
  19.     { Public declarations }
  20.   end;
  21.  
  22. var
  23.   Form1: TForm1;
  24.   contador : integer;
  25.   X : integer;
  26.  
  27. implementation
  28.  
  29. {$R *.dfm}
  30.  
  31. procedure TForm1.Timer1Timer(Sender: TObject);
  32. begin
  33. case contador of
  34. 1: begin
  35. Image1.Left := Target.Value //aqui tenemos que encontrar
  36. //una division del valor de Target para que el misil haga
  37. // el efecto de una curva buscando el enemigo;
  38. Image1.Top := Image1.Top - 30;
  39. end;
  40. 2: begin
  41. Image1.Left := Target.Value;
  42. Image1.Top := Image1.Top - 30;
  43. end;
  44. 3: begin
  45. Image1.Left := Target.Value;
  46. Image1.Top := Image1.Top - 30;
  47. end;
  48. 4: begin
  49. Image1.Left := Target.Value;
  50. Image1.Top := Image1.Top - 30;
  51. end;
  52. 5: begin
  53. Image1.Left := Target.Value;
  54. Image1.Top := Image1.Top - 30;
  55. end;
  56. 6: begin
  57. Image1.Left := Target.Value;
  58. Image1.Top := Image1.Top - 30;
  59.           contador := 0;
  60.     end;
  61.   end;
  62.   inc(Contador);
  63. end;
  64. procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  65.   Y: Integer);
  66. begin
  67. Target.Value := X;
  68. end;
  69.  
  70. procedure TForm1.Button1Click(Sender: TObject);
  71. begin
  72. Timer1.Enabled:= True;
  73. end;
  74.  
  75. end.



Tengo ese boton en un form puesto donde yo quiero que llegue el missile(Image1) La cosa es cuando se dispara el timer1 que controla la subida del misil que el Left no sea de una sola vez en cada case contador (si no que lo pueda dividir en digamos 10 o mas partes esa diferencia (para que la subida sea en forma de semicirculo.

No Se si me doy a entender. ;)

Un Saludo.

#103 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 08 diciembre 2008 - 09:01

A ver que tal esta idea?



delphi
  1. var
  2.   Form1: TForm1;
  3.   contador : integer;
  4.   X : integer;
  5.   tem : integer;
  6. implementation
  7.  
  8. {$R *.dfm}
  9.  
  10. procedure TForm1.Timer1Timer(Sender: TObject);
  11. begin
  12.  
  13. case contador of
  14. 1: begin
  15. Image1.Left := Image1.Left + tem;
  16. Image1.Top := Image1.Top - 10;
  17. end;
  18. 2: begin
  19. Image1.Left := Image1.Left + tem;
  20. Image1.Top := Image1.Top - 10;
  21. end;
  22. 3: begin
  23. Image1.Left := Image1.Left + tem;
  24. Image1.Top := Image1.Top - 10;
  25. end;
  26. 4: begin
  27. Image1.Left := Image1.Left + tem;
  28. Image1.Top := Image1.Top - 10;
  29. end;
  30. 5: begin
  31. Image1.Left := Image1.Left + tem;
  32. Image1.Top := Image1.Top - 10;
  33. end;
  34. 6: begin
  35. Image1.Left := Image1.Left + tem;
  36. Image1.Top := Image1.Top - 10;
  37. contador := 0;
  38.           end;
  39.   end;
  40.   inc(Contador);
  41. end;
  42. procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  43.   Y: Integer);
  44. begin
  45. Target.Value := X;
  46. Tem := (Target.Value div 30);
  47. end;
  48. procedure TForm1.Button1Click(Sender: TObject);
  49. begin
  50. Timer1.Enabled:= True;
  51. end;
  52.  
  53. end.



Es una idea, eso hay que pulirlo y pues modificarlo.

Archivos adjuntos

  • Archivo adjunto  90_.zip   250,45KB   4 descargas


#104 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 09 diciembre 2008 - 05:58

Este esta un poco mejorado:



delphi
  1. type
  2.   TForm1 = class(TForm)
  3.     Timer1: TTimer;
  4.     Image1: TImage;
  5.     procedure FormClick(Sender: TObject);
  6.     procedure Timer1Timer(Sender: TObject);
  7.     procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  8.       Y: Integer);
  9.   private
  10.     { Private declarations }
  11.   public
  12.     { Public declarations }
  13.   end;
  14.  
  15. var
  16.   Form1: TForm1;
  17.   contador : integer;
  18.   X : integer;
  19.   tem, tem1 : integer;
  20.  
  21. implementation
  22.  
  23. {$R *.dfm}
  24.  
  25. procedure TForm1.FormClick(Sender: TObject);
  26. begin
  27. Tem := (Tem1 div 30); //obtenemos las cordenadas al momento del disparo
  28. Timer1.Enabled := True; // iniciamos el disparo
  29. end;
  30. procedure TForm1.Timer1Timer(Sender: TObject);
  31. begin
  32. case contador of
  33. 1: begin
  34. Image1.Left := Image1.Left + tem;
  35. Image1.Top := Image1.Top - 10;
  36. end;
  37. 2: begin
  38. Image1.Left := Image1.Left + tem;
  39. Image1.Top := Image1.Top - 10;
  40. end;
  41. 3: begin
  42. Image1.Left := Image1.Left + tem;
  43. Image1.Top := Image1.Top - 10;
  44. end;
  45. 4: begin
  46. Image1.Left := Image1.Left + tem;
  47. Image1.Top := Image1.Top - 10;
  48. end;
  49. 5: begin
  50. Image1.Left := Image1.Left + tem;
  51. Image1.Top := Image1.Top - 10;
  52. end;
  53. 6: begin
  54. Image1.Left := Image1.Left + tem;
  55. Image1.Top := Image1.Top - 10;
  56. contador := 0;
  57. end;
  58. end;
  59. inc(Contador);
  60. end;
  61. // aqui estamos mirando las cordenadas del puntero
  62. procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  63.   Y: Integer);
  64. begin
  65. Tem1:= X;
  66. end;
  67.  
  68. end.



Un saludo.
PD: Esperamos que algun maestro nos diga si estamos bien. ;)

#105 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 13.989 mensajes
  • LocationMéxico

Escrito 09 diciembre 2008 - 09:10

Hola

De entrada te puedes ahorrar algunos bytes :p .....



delphi
  1. case contador of
  2.   1..5: begin
  3.             Image1.Left := Image1.Left + tem;
  4.             Image1.Top := Image1.Top - 10;
  5.   end;
  6.   6  : begin
  7.             Image1.Left := Image1.Left + tem;
  8.             Image1.Top := Image1.Top - 10;
  9.             contador := 0;
  10.   end;
  11. end;
  12. inc(Contador);



Ya lo veremos detenidamente :)

Salud OS
  • 0

#106 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 09 diciembre 2008 - 09:32

Gracias carnal:



delphi
  1. var
  2.   Form1: TForm1;
  3.   contador : integer;
  4.   X : integer;
  5.   tem, tem1 : integer;
  6.  
  7. implementation
  8.  
  9. {$R *.dfm}
  10.  
  11. procedure TForm1.FormClick(Sender: TObject);
  12. begin
  13. Tem := (Tem1 div 30); //obtenemos las cordenadas al momento del disparo
  14. Timer1.Enabled := True; // iniciamos el disparo
  15. end;
  16. procedure TForm1.Timer1Timer(Sender: TObject);
  17. begin
  18. case contador of
  19.   1..5: begin
  20.   Image1.Left := Image1.Left + tem;
  21.   Image1.Top := Image1.Top - 10;
  22.   end;
  23.   6  : begin
  24.   Image1.Left := Image1.Left + tem;
  25.   Image1.Top := Image1.Top - 10;
  26.   contador := 0;
  27.   end;
  28.   end;
  29. inc(Contador);
  30. end;
  31. // aqui estamos mirando las cordenadas del puntero
  32. procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  33.   Y: Integer);
  34. begin
  35. Tem1:= X;
  36. end;
  37.  
  38. end.



Modificado el codigo. :)

Un Saludo.

#107 Caral

Caral

    Advanced Member

  • Administrador
  • 4.241 mensajes
  • LocationCosta Rica

Escrito 09 diciembre 2008 - 09:45

Hola
El codigo esta bien, el misil sale desde la izquierda.
Lo voy a tratar de aplicar.
Saludos
  • 0

#108 Caral

Caral

    Advanced Member

  • Administrador
  • 4.241 mensajes
  • LocationCosta Rica

Escrito 09 diciembre 2008 - 10:01

Hola
Esta es mas o menos la idea?.
Saludos
PD: El misil sale rapido, se pueden hacer varios disparos casi seguidos, es dificil. :D

[archivo adjunto borrado por el administrador]
  • 0

#109 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 09 diciembre 2008 - 10:15

Hola
Esta es mas o menos la idea?.
Saludos
PD: El misil sale rapido, se pueden hacer varios disparos casi seguidos, es dificil. :D


Hola Carlos, si al Timer3 le pones solamente intervalo 2 y dale una prueba. ;)
Eso esta bien, solo hace falta incorporarle el impacto.El codigo del caza aviones se puede poner en este para lo del impacto.(cuando coinciden las dos imagenes.

Un Saludo.

PD: Yo estaba pensando el usar usar las cordenadas X, Y del Mouse Move para que el lanza misil se desplazara tambien, pero solo si estaba a una altura(si su valor Top estaba abajo, antes del disparo) entonces despues del disparo solo el misil seguiria las cordenadas del Tem1 que solo reciben las cordenadas nuevas del target cuando se realiza el disparo.

#110 Caral

Caral

    Advanced Member

  • Administrador
  • 4.241 mensajes
  • LocationCosta Rica

Escrito 09 diciembre 2008 - 10:47

Hola
Aqui el problema mas grabe de solucionar es la imagen que esta detras.
Si se da click a la imagen de oV, la posicion no es la misma que la posicion de la imagen de fondo.
No es lo mismo que calcularlo sin imagen de fondo.
La unica manera que se me ocurre es que la mira apunte abajo del ovni, con esto si se consiguen las coordenadas.
Saludos
  • 0

#111 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 09 diciembre 2008 - 11:09

Hola
Aqui el problema mas grabe de solucionar es la imagen que esta detras.
Si se da click a la imagen de oV, la posicion no es la misma que la posicion de la imagen de fondo.
No es lo mismo que calcularlo sin imagen de fondo.
La unica manera que se me ocurre es que la mira apunte abajo del ovni, con esto si se consiguen las coordenadas.
Saludos

Eso si no lo he intentado.Dejame agregar una imagen de fondo a ver que pasa. ;)

Un Saludo.

PD: Si se pone una image (misil) mas pequeña se ve mejor.

#112 Caral

Caral

    Advanced Member

  • Administrador
  • 4.241 mensajes
  • LocationCosta Rica

Escrito 09 diciembre 2008 - 01:21

Hola
Aqui hay un adelanto.
El misil ya funciona, solo falta que cuando alcance al OVni caiga etc.
Cuando arranque el programa presionad Pelear con Misil (tenemos un burrito psicópata  :D)
Saludos

[archivo adjunto borrado por el administrador]
  • 0

#113 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 09 diciembre 2008 - 01:33

jajajajajaja esta buenos eso, un burro velico y con lanza cohetes. :p Esta quedando eso bueno. :)
Solo hace falta un rocket mas pequeño y que salga medio inclinado.Pero eso esta tomado buena pinta.

Un Saludo.

#114 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 09 diciembre 2008 - 01:47

Amigos... la mira está desviada  :p...
Ya que por ahora no puedo aportar código, aportaré ideas...
Que tal si en vez de crear un boton por cada arma, usamos un pequeño menú que salga de uno, por ejemplo llamado "Arma", que a medida que avance de nivel vaya habilitando otras, por ejemplo un misil rastreador para seguir al platillo  :p
  • 0

#115 Caral

Caral

    Advanced Member

  • Administrador
  • 4.241 mensajes
  • LocationCosta Rica

Escrito 09 diciembre 2008 - 01:48

Hola
Como que no puedes aportar codigo, que es esa vagancia. :D :D
Aqui es codigo amigo o te regresamos a Platino Jajajajjaaj :D :D :D
Saludos
  • 0

#116 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 09 diciembre 2008 - 02:05

Hola
Como que no puedes aportar codigo, que es esa vagancia. :D :D
Aqui es codigo amigo o te regresamos a Platino Jajajajjaaj :D :D :D
Saludos

Jajajajajaja... pues mira que comparto muchas de sus ideas con los juegos y la verdad no es nada del otro mundo, pero es que ando bien ocupado, asi que :p :p :p...

Saludos
  • 0

#117 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 09 diciembre 2008 - 03:06


Hola
Como que no puedes aportar codigo, que es esa vagancia. :D :D
Aqui es codigo amigo o te regresamos a Platino Jajajajjaaj :D :D :D
Saludos

Jajajajajaja... pues mira que comparto muchas de sus ideas con los juegos y la verdad no es nada del otro mundo, pero es que ando bien ocupado, asi que :p :p :p...

Saludos

Bueno segun tu a Carlos y a mi ¿nos sobra el tiempo? :p
Dale y aporta codigo hermano.

Un Saludo.


PD:Estamos en la etapa de aprender, las cosas se iran mejorando. (y)

#118 Caral

Caral

    Advanced Member

  • Administrador
  • 4.241 mensajes
  • LocationCosta Rica

Escrito 09 diciembre 2008 - 03:10

Hola
Ultima version:
Ya se puede derribar al OV.
falta el sonido, sera el mismo pero tengo que buscarlo, esta creciendo esto. :D
Por cierto, para derribar lo hay que darle el el centro, osea aveces cuesta.
Saludos
PD: La zaga del Burrito sigueeeeeeeee, :D :D :-#

[archivo adjunto borrado por el administrador]
  • 0

#119 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 09 diciembre 2008 - 03:11



Hola
Como que no puedes aportar codigo, que es esa vagancia. :D :D
Aqui es codigo amigo o te regresamos a Platino Jajajajjaaj :D :D :D
Saludos

Jajajajajaja... pues mira que comparto muchas de sus ideas con los juegos y la verdad no es nada del otro mundo, pero es que ando bien ocupado, asi que :p :p :p...

Saludos

Bueno segun tu a Carlos y a mi ¿nos sobra el tiempo? :p

Jejejeje... no para nada Jose  ^o| *-) 8-)... :p ya me salí de unos cuantos compliques y les voy ayudando... no se preocupen  :D
  • 0

#120 FGarcia

FGarcia

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 687 mensajes
  • LocationMéxico

Escrito 09 diciembre 2008 - 03:39

[OFF TOPIC]

Y la dueña del burro no aporta nada para el rescate del burro? o solo quedara de fondo lacrimogeno?

[/OFF TOPIC]


:| :D :D :D :D :D
  • 0