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]