![]() |
Re: RiB - Reflect it Baby
ich hab einen ermitter mit der shift taste und maus nach rechts die strahlen halt so aufgeteilt - dann kam eine fehlernachricht
Zitat:
sonst klasse :thumb: edit selber fehler wenn ich mit der strg taste einen spline nach rechts "gezogen" verschoben habe (bei jedem punkt des splines wie ich gerade merke selebr fehler :( ) edit auch beim bewegen jetzt jeder splines : :lol: das problem wurde nur durch löschen dieses splines gelöst lg |
Re: RiB - Reflect it Baby
Ich muss sagen das Programm macht einem Spaß, es ist echt super gemacht :thumb:
So, ich möchte ein Stück Code aus deinem Quelltext "klauen" bzw. verstehen. Und zwar handelt es sich um die Funktion, dass ein Objekt mit einem Auswahlrahmen umgeben wird wenn man darüber fährt. So wie es aussieht hast du das mit einem Timer gelöst, mir erschließt sich jedoch nicht wie du den Rahmen zeichnest. Hier der Ausschnitt:
Delphi-Quellcode:
procedure TScene.OnStippleTimer(Sender: TObject);
begin if Assigned(FMouseOver) then begin FStippleCount := FStippleCount + 0.4; DrawFrame; Redraw; end else begin DrawFrame; Redraw; FStippleTimer.Enabled := false; end; end; procedure TScene.DrawFrame; var sel, moov: TFloatRect; begin FFrameBMP.Clear(0); FFrameBMP.BeginUpdate; if Assigned(FSelection) then begin sel := FSelection.Rect; FFrameBMP.LineS(round(sel.Left), round(sel.Top), round(sel.Right), round(sel.Top), Color32(0,127,255)); FFrameBMP.LineS(round(sel.Right), round(sel.Top), round(sel.Right), round(sel.Bottom), Color32(0,127,255)); FFrameBMP.LineS(round(sel.Right), round(sel.Bottom), round(sel.Left), round(sel.Bottom), Color32(0,127,255)); FFrameBMP.LineS(round(sel.Left), round(sel.Bottom), round(sel.Left), round(sel.Top), Color32(0,127,255)); end; if Assigned(FMouseOver) then begin moov := FMouseOver.Rect; FFrameBMP.StippleCounter := FStippleCount; FFrameBMP.LineFSP(round(moov.Left), round(moov.Top), round(moov.Right), round(moov.Top)); FFrameBMP.LineFSP(round(moov.Right), round(moov.Top), round(moov.Right), round(moov.Bottom)); FFrameBMP.LineFSP(round(moov.Right), round(moov.Bottom), round(moov.Left), round(moov.Bottom)); FFrameBMP.LineFSP(round(moov.Left), round(moov.Bottom), round(moov.Left), round(moov.Top)); end; FFrameBMP.EndUpdate; end; procedure TScene.Redraw; begin FObjectBMP.DrawTo(Display); FFieldBMP.DrawTo(Display); FFrameBMP.DrawTo(Display); Control.Refresh; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz