Je kan deze class zo schrijven:
Delphi Code:
TDirection = (dirUp, dirDown, dirLeft, dirRight);
TParticle = class
private
FColor : TColor;
FSize : Double;
FVisible : boolean;
FXpos : Integer;
FYpos : Integer;
FSpeed : Integer;
FRectangle : TRect;
public
constructor Create; virtual;
procedure Draw;
procedure Wander(const Direction: TDirection);
function MouseInParticle(const MouseX: Integer; const MouseY: Integer) : Boolean;
published
property Color: TColor read FColor write FColor;
property Size: Double read FSize write FSize;
property Visible: Boolean read FVisible write FVisible;
property XPos: Integer read FXPos write FXPos;
property YPos: Integer read FYPos write FYPos;
property Speed: Integer read FSpeed write FSpeed;
property Rectangle: TRect read FRectangle write FRectangle;
end;
function TParticle.MouseInParticle(const MouseX: Integer; const MouseY: Integer) : Boolean;
begin
Result := PtInRect(Rectangle, Point(MouseX, MouseY));
end;
Je kan dan gewoon je particle aanspreken en daarop een MouseInParticle aanroepen met de huidige muis positie. Verder zie ik te weinig code om je echt te kunnen verder helpen, zonder te weten wat je exact wilt bereiken. Als je echt een event wilt, dan moet je een component maken waar je een muis interactie op kan hebben..
Bookmarks