Registriert seit: 31. Aug 2005
1.622 Beiträge
FreePascal / Lazarus
|
Re: [Andorra 2D] TPhysicalBoxSprite bei X=0 unsichtbar
15. Nov 2008, 14:36
Problem gefunden: In der Unit AdSprites.TImageSpriteEx muss folgender Codeblock ausgetauscht werden:
Delphi-Quellcode:
procedure TImageSpriteEx.DoDraw;
begin
if FImage <> nil then
begin
FImage.Color := FColor;
if Alpha <> 255 then
begin
if Angle <> 0 then
begin
FImage.DrawRotateAlpha(Engine.Surface,
round(WorldX), round(WorldY),
round(Width), round(Height),
Trunc(AnimPos),
FRotationCenterX, FRotationCenterY, Round(Angle), Round(Alpha));
end
else
begin
FImage.DrawAlpha(Engine.Surface,BoundsRect,Trunc(AnimPos),Round(Alpha));
end;
end
else
begin
if Angle <> 0 then
begin
FImage.DrawRotate(Engine.Surface,
round(WorldX), round(WorldY),
round(Width), round(Height),
Trunc(AnimPos),
FRotationCenterX, FRotationCenterY, Round(Angle));
end
else
begin
FImage.StretchDraw(Engine.Surface, BoundsRect, Trunc(AnimPos));
end;
end;
end;
end;
//Vorher noch im "Protected" Bereich von TImageSpriteEx eintragen:
//...
//protected
// procedure DoDraw;override;
// procedure DoMove(ATimeGap: double);override;
//...
procedure TImageSpriteEx.DoMove(ATimeGap: double);
begin
inherited;
if FChangedRotation then
begin
RecalcBoundsRect;
FChangedRotation := false;
end;
end;
Andreas "Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
|
|
Zitat
|