Ir al contenido



Foto

Burrito Cursor


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

#1 Caral

Caral

    Advanced Member

  • Administrador
  • 4.218 mensajes
  • LocationCosta Rica

Escrito 04 diciembre 2008 - 07:16

Hola
Experimentando un poco (siempre con el burrito  :D) estoy tratando de hacer un cursor.
El asunto funciona, lo único que me gustaría es que el fondo fuera transparente, alguna idea?.
Cuando arranca el programa el burrito aparece, corre o camina con el movimiento del mouse.
Saludos


[archivo adjunto borrado por el administrador]
  • 0

#2 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 04 diciembre 2008 - 07:38

Hola Carlos, esta bueno y se me ocurre que en vez de un burrito tenga un mira.Esto para poder hacer blanco en elgun objetivo y con el boton derecho poder disparar al blanco. ;)
Y pues no tengo idea de como hacer transparente esa imagen(creo que es el componente donde esta mas bien).

Un Saludo.

#3 Caral

Caral

    Advanced Member

  • Administrador
  • 4.218 mensajes
  • LocationCosta Rica

Escrito 04 diciembre 2008 - 07:59

Hola
No se, no se, Una mira y dejar al burrito . :D :D :D
A ver que sale de todos estos codigos, creo que se puede aprender y hacer algo interesante.
Por lo menos que sirva de experiencia para entrarle a glscene que es lo que sirve para hacer juegos.
Saludos
  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.254 mensajes
  • LocationRepública Dominicana

Escrito 04 diciembre 2008 - 08:05

Hablando de miras, efectivamente hace un ratito me hice uno :D, intenté hacer un juego matamosca, que al presionar el botón derecho dispara con sonido de arma, pues hasta ahí llego, no logro matar la mosca con el mouse :

Saludos.

Archivos adjuntos

  • Archivo adjunto  69_.zip   15,46KB   6 descargas

  • 0

#5 Caral

Caral

    Advanced Member

  • Administrador
  • 4.218 mensajes
  • LocationCosta Rica

Escrito 04 diciembre 2008 - 08:11

Hola
Esta interesante amigo, pero usas componentes que no tengo.
No se si hara mas cosas con esos componentes?.
Saludos
  • 0

#6 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.254 mensajes
  • LocationRepública Dominicana

Escrito 04 diciembre 2008 - 08:15

Aquí está sin los componentes, porque sólo estoy usando un TImage :s:



delphi
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, AppEvnts, MMSystem, ExtCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Eventos: TApplicationEvents;
  12.     MueveMosca: TTimer;
  13.     Mosca: TImage;
  14.     procedure FormCreate(Sender: TObject);
  15.     procedure EventosMessage(var Msg: tagMSG; var Handled: Boolean);
  16.     procedure MueveMoscaTimer(Sender: TObject);
  17.   private
  18.     { Private declarations }
  19.   public
  20.     { Public declarations }
  21.   end;
  22.  
  23. var
  24.   Form1: TForm1;
  25.  
  26. implementation
  27.  
  28. {$R *.dfm}
  29.  
  30. procedure TForm1.FormCreate(Sender: TObject);
  31. begin
  32. // Cargamos el cursor
  33. Screen.Cursors[1] := LoadCursorFromFile('C:\Documents and Settings\enecumene\My Documents\My Pictures\Mira.ani');
  34. // Aqui lo usamos para el form
  35. Cursor := 1;
  36. end;
  37.  
  38. procedure TForm1.EventosMessage(var Msg: tagMSG; var Handled: Boolean);
  39. var
  40.   x,y,w,z: integer;
  41. begin
  42. x := Mosca.Left;
  43. y := Mosca.Top;
  44. w := Mosca.Left+1;
  45.   if Msg.message = WM_RBUTTONUP then begin
  46.     sndPlaySound('C:\KillHim\Gun.wav',SND_NODEFAULT Or SND_ASYNC);
  47.     if (Mouse.CursorPos.X >= x) and (Mouse.CursorPos.Y <= w) then begin
  48.       MueveMosca.Enabled := False;
  49.       Mosca.Free;
  50.     end else begin
  51.       //Nada
  52.     end;
  53.   end;
  54. end;
  55.  
  56. function Rotate(Canvas: TCanvas; Width, Height, iAngle: Integer; Back: LongBool): TBitmap;
  57. var
  58. Points: array [0..2] of TPoint;
  59. Radio, Angle, _Angle: Real;
  60. begin
  61. Points[0] := Point(-Width, Height);
  62. Points[1] := Point(Width, Height);
  63. Points[2] := Point(-Width, -Height);
  64. // Points[3] := Point(Width, -Height);
  65. Radio := Sqrt(Sqr(Width / 2) + Sqr(Height / 2));
  66. _Angle := (360 - (iAngle mod 360)) * pi / 180;
  67. iAngle := 3;
  68. repeat Dec(iAngle);
  69.   Angle := ArcTan(Points[iAngle].Y / Points[iAngle].X) + _Angle;
  70.   if Points[iAngle].X < 0 then
  71.   Angle := Angle + Pi;
  72.   Points[iAngle] := Point(Round((Cos(Angle) * Radio) + Radio), Round(Radio - (Sin(Angle) * Radio)));
  73. until not LongBool(iAngle);
  74.  
  75. Result := TBitmap.Create;
  76. Result.TransparentColor := clFuchsia;
  77. Result.Canvas.Brush.Color := clFuchsia;
  78. iAngle := Round(Radio * 2);
  79. Result.Height := iAngle;
  80. Result.Width := iAngle;
  81. plgblt(Result.Canvas.Handle, Points, Canvas.Handle, 0, 0, Width, Height, 0, 0, 0);
  82. if Back then Result.Canvas.CopyRect(Rect(0, 0, iAngle, iAngle), Result.Canvas, Rect(iAngle-1, 0, 0, iAngle));
  83. end;
  84.  
  85. procedure TForm1.MueveMoscaTimer(Sender: TObject);
  86. begin
  87.   Mosca.Left := Mosca.Left+1;
  88. end;
  89.  
  90. end.



Saludos.
  • 0

#7 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 04 diciembre 2008 - 08:23

Yo tampoco puedo copilar.Me falta ese componente. :p
Esta interesante ese codigo.jajajajajajajaja al rato terminaremos cazando un burrito.Pobre burro ya estoy trabajando en el BurriFlame.gif  :p
Bueno mas material y codigo a estudiar. :)

Un Saludo.

#8 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 04 diciembre 2008 - 08:31

Ok ya logre copilar y esta trabajando.Solo como dice Fernando no elimina la mosca.Dejame ver el codigo a ver que le encuentro.

Un Saludo.

#9 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 04 diciembre 2008 - 08:32

Hola
Experimentando un poco (siempre con el burrito  :D) estoy tratando de hacer un cursor.
El asunto funciona, lo único que me gustaría es que el fondo fuera transparente, alguna idea?.
Cuando arranca el programa el burrito aparece, corre o camina con el movimiento del mouse.
Saludos

Si son imagenes, el formato *.png mantiene la propiedad de transparencia y esta no se pierde en Delphi  :D
  • 0