Burrito Cursor
#1
Posted 04 December 2008 - 07:16 PM
Experimentando un poco (siempre con el burrito ) 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]
#2 Guest_Jose Fco_*
Posted 04 December 2008 - 07:38 PM
Y pues no tengo idea de como hacer transparente esa imagen(creo que es el componente donde esta mas bien).
Un Saludo.
#3
Posted 04 December 2008 - 07:59 PM
No se, no se, Una mira y dejar al burrito .
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
#4
Posted 04 December 2008 - 08:05 PM
Saludos.
Attached Files
#5
Posted 04 December 2008 - 08:11 PM
Esta interesante amigo, pero usas componentes que no tengo.
No se si hara mas cosas con esos componentes?.
Saludos
#6
Posted 04 December 2008 - 08:15 PM
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, AppEvnts, MMSystem, ExtCtrls; type TForm1 = class(TForm) Eventos: TApplicationEvents; MueveMosca: TTimer; Mosca: TImage; procedure FormCreate(Sender: TObject); procedure EventosMessage(var Msg: tagMSG; var Handled: Boolean); procedure MueveMoscaTimer(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin // Cargamos el cursor Screen.Cursors[1] := LoadCursorFromFile('C:\Documents and Settings\enecumene\My Documents\My Pictures\Mira.ani'); // Aqui lo usamos para el form Cursor := 1; end; procedure TForm1.EventosMessage(var Msg: tagMSG; var Handled: Boolean); var x,y,w,z: integer; begin x := Mosca.Left; y := Mosca.Top; w := Mosca.Left+1; if Msg.message = WM_RBUTTONUP then begin sndPlaySound('C:\KillHim\Gun.wav',SND_NODEFAULT Or SND_ASYNC); if (Mouse.CursorPos.X >= x) and (Mouse.CursorPos.Y <= w) then begin MueveMosca.Enabled := False; Mosca.Free; end else begin //Nada end; end; end; function Rotate(Canvas: TCanvas; Width, Height, iAngle: Integer; Back: LongBool): TBitmap; var Points: array [0..2] of TPoint; Radio, Angle, _Angle: Real; begin Points[0] := Point(-Width, Height); Points[1] := Point(Width, Height); Points[2] := Point(-Width, -Height); // Points[3] := Point(Width, -Height); Radio := Sqrt(Sqr(Width / 2) + Sqr(Height / 2)); _Angle := (360 - (iAngle mod 360)) * pi / 180; iAngle := 3; repeat Dec(iAngle); Angle := ArcTan(Points[iAngle].Y / Points[iAngle].X) + _Angle; if Points[iAngle].X < 0 then Angle := Angle + Pi; Points[iAngle] := Point(Round((Cos(Angle) * Radio) + Radio), Round(Radio - (Sin(Angle) * Radio))); until not LongBool(iAngle); Result := TBitmap.Create; Result.TransparentColor := clFuchsia; Result.Canvas.Brush.Color := clFuchsia; iAngle := Round(Radio * 2); Result.Height := iAngle; Result.Width := iAngle; plgblt(Result.Canvas.Handle, Points, Canvas.Handle, 0, 0, Width, Height, 0, 0, 0); if Back then Result.Canvas.CopyRect(Rect(0, 0, iAngle, iAngle), Result.Canvas, Rect(iAngle-1, 0, 0, iAngle)); end; procedure TForm1.MueveMoscaTimer(Sender: TObject); begin Mosca.Left := Mosca.Left+1; end; end.
Saludos.
#7 Guest_Jose Fco_*
Posted 04 December 2008 - 08:23 PM
Esta interesante ese codigo.jajajajajajajaja al rato terminaremos cazando un burrito.Pobre burro ya estoy trabajando en el BurriFlame.gif
Bueno mas material y codigo a estudiar.
Un Saludo.
#8 Guest_Jose Fco_*
Posted 04 December 2008 - 08:31 PM
Un Saludo.
#9
Posted 04 December 2008 - 08:32 PM
Si son imagenes, el formato *.png mantiene la propiedad de transparencia y esta no se pierde en DelphiHola
Experimentando un poco (siempre con el burrito ) 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