Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Leveleditor (https://www.delphipraxis.net/10476-leveleditor.html)

ISAS 19. Okt 2003 14:46


Leveleditor
 
Hab da ein teuflisches Problem :evil mit meinem Leveleditor:
Hier ist der Quellcode:

Delphi-Quellcode:
const
Max=10;

var
  Form1: TForm1;
  MyRect:TRect;
    Bitmap:TBitmap;
  a,b,c,i,k:integer;
  P,Q:TPoint;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin

a:=33;
b:=33;
for i:=1 to Max do
for k:=1 to Max do begin
P.x:=Round((i-1)*a);
P.y:=Round((k-1)*b);
if (X >= P.x) and (Y >= P.y) then begin
with Form1.Image1 do begin

Bitmap := TBitmap.Create;
Bitmap.LoadFromFile('c:\Gras.bmp');
Image1.Canvas.Draw(P.X,P.Y,Bitmap);
Bitmap.Free;
Es liegt irgendwo an P.X und P.Y und an den FOR-Schleifen. :!:

Das Bitmap, das ich erzeuge soll bei den Koordinaten 0/0 anfangen und bei Mouse.X/Mouse.Y (natürlich eingerastert) aufhören. Es ist schwer zu erklären, deswegen mache ich hier ein Beispiel:

X = 1 Bitmap
Nun klicke ich auf 5/3 und dann sieht das auf dem Image so aus:

XXXXX
XXXXX
XXXXX

Soll aber so aussehen:



X

Er soll nur ein Bild hinmachen und nicht von 0/0 bis Mouse.X/Mouse.Y alles füllen.
:?: :?: :?: :?: :?: :?: :?:

[edit=Christian Seehase]Delphi-Tags gesetzt. Mfg, Christian Seehase[/edit]

Christian Seehase 19. Okt 2003 14:50

Re: Leveleditor
 
Moin ISAS,

Zitat:

Zitat von ISAS
Hier ist der Quellcode:

ja, aber ohne Delphi-Tags.
Bitte denke künftig daran diese selber zu setzen.
Danke.

SirThornberry 19. Okt 2003 14:53

Re: Leveleditor
 
es wird glaube übersichtlicher wenn du das erzugen des neuen bildes (bildgröße) in einer extra procedure machst und diese dann auf das bild "Draw"st. Wenn du das soweit hast kannstes ja nochmal posten, aber derzeit seh ich in deinem source nicht durch, zumal nicht mal irgendwie etwas eingerückt ist, sorry...

ISAS 19. Okt 2003 15:47

Re: Leveleditor
 
Es funktioniert schon. Danke :dancer:
Es gehört nämlich so:

Code:
a:=33;
b:=33;
for i:=1 to Max do
for k:=1 to Max do begin
P.x:=Round((i-1)*a);
P.y:=Round((k-1)*b);
Q.x:=Round(i*a);
Q.y:=Round(k*b);
if (X >= P.x) and (X<Q.x) and (Y >= P.y) and (Y<Q.y) then begin

Bitmap := TBitmap.Create;
Bitmap.LoadFromFile('c:\Gras.bmp');
Image1.Canvas.Draw(P.X,P.Y,Bitmap);
Bitmap.Free;


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz