Habs nun geschafft, dass man jedes TPushable verschieben kann
. Schick mal den Quellcode (wie ich das meine) und dann erläutere ich ein bisschen.
Delphi-Quellcode:
procedure TPushable.DoCollision(Sprite: TSprite; var Done: Boolean);
begin
if klick = true then begin
if sprite = maus then begin
repeat
procedure TForm1.DXDraw1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
X:=round(Maus.X / 32)*32;
Y:=round(Maus.Y / 32)*32;
procedure TForm1.DXDraw1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
until klick=false;
end;
end;
end;
Maus ist ein Srite mit den richtigen Mauskoordinaten.
Also, wenn man auf ein Sprite klickt, dann soll er zu repeat gehen. In diesem soll man die Position vom Sprite sollange verändern können(MouseMove), bis man MouseUp macht (denn da wird klick zu false). Das wäre es eigentlich schon.
PS: Wenn jemand eine andere Idee hat, wie man TPushable(Besteht aus mehreren Sprites mit verschiedenen Koordinaten) so machen kann, wie ich geschildert habe, dann immer her damit.
PPS: Ein Problem gibs da noch. Wenn 2 Sprites dieselben Koordinaten haben, würde er dann beide nehmen und diese wären nicht mehr zu trennen. Lösungsvorschläge?
PPPS: Danke, ISAS!