AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi DelphiX -> MouseMove und DoCollision
Thema durchsuchen
Ansicht
Themen-Optionen

DelphiX -> MouseMove und DoCollision

Ein Thema von ISAS · begonnen am 10. Mär 2004 · letzter Beitrag vom 11. Mär 2004
Antwort Antwort
Benutzerbild von ISAS
ISAS

Registriert seit: 24. Sep 2003
Ort: Vietnam
205 Beiträge
 
Delphi 4 Standard
 
#1

DelphiX -> MouseMove und DoCollision

  Alt 10. Mär 2004, 19:10
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!
Signatur wurde auf Wunsch geändert. Deswegen einfach hier drauf klicken-> www.geggi.at.gg
  Mit Zitat antworten Zitat
Benutzerbild von ISAS
ISAS

Registriert seit: 24. Sep 2003
Ort: Vietnam
205 Beiträge
 
Delphi 4 Standard
 
#2

Re: DelphiX -> MouseMove und DoCollision

  Alt 11. Mär 2004, 20:06
Hab das so gelöst:


Delphi-Quellcode:
if klick = true then begin
if sprite = maus then begin

if down=true then begin

repeat

X:=mouse.CursorPos.X-Form1.left-5;
Y:=mouse.CursorPos.Y-Form1.top-25;

until GetAsyncKeyState(VK_LBUTTON) = 0;
down:=false;

X:=trunc(X/32) * 32;
Y:=trunc(Y/32) * 32;

end;

end;
end;
end;
end;
end;
Sieht kompliziert aus , is es aber nicht .
Signatur wurde auf Wunsch geändert. Deswegen einfach hier drauf klicken-> www.geggi.at.gg
  Mit Zitat antworten Zitat
Benutzerbild von ISAS
ISAS

Registriert seit: 24. Sep 2003
Ort: Vietnam
205 Beiträge
 
Delphi 4 Standard
 
#3

Re: DelphiX -> MouseMove und DoCollision

  Alt 11. Mär 2004, 20:06
Hab das so gelöst:


Delphi-Quellcode:
if klick = true then begin
if sprite = maus then begin

if down=true then begin

repeat

X:=mouse.CursorPos.X-Form1.left-5;
Y:=mouse.CursorPos.Y-Form1.top-25;

until GetAsyncKeyState(VK_LBUTTON) = 0;
down:=false;

X:=trunc(X/32) * 32;
Y:=trunc(Y/32) * 32;

end;

end;
end;
end;
end;
end;
Sieht kompliziert aus , is es aber nicht .

//[edit] Wieso hat der das 2mal gepostet?? Komisch
//[edit2] Mein Rollenspiel schreitet voran. Hab nun:

Leveleditor, Level laden, Gehen, Collision, Gegner (Leider noch kein besonders gutes Gehen ( hier gibts ein thread, wie ich die KI der Gegner mache, damit die nirgends hängen bleiben. Meins is nämlich noch simplest) und Sachen verschieben.

Übermorgen hab ich E-Schularbeit, dass heisst, morgen Pause und übermorgen werden einige neue Sachen gemacht.
Vorallem mal Sachen herumschieben, Waffen und Gegner attacken. Also, dass wars.
Signatur wurde auf Wunsch geändert. Deswegen einfach hier drauf klicken-> www.geggi.at.gg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:29 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