Einzelnen Beitrag anzeigen

Benutzerbild von Ricane
Ricane

Registriert seit: 21. Mär 2003
Ort: Quickborn
170 Beiträge
 
Delphi 7 Architect
 
#7

Re: 2 Sprites übereinander... und wieder Collision

  Alt 19. Jan 2005, 18:27
Also...... hier die Kollisionsabfrage:

Delphi-Quellcode:
Procedure TMouseZ.DoCollision(Sprite: TSprite; Var Done: Boolean);
Begin

  (* Kollisionsliste!
    50 = Schilder
    60 = Eine Unit wurde geklickt!  (Ein Thumb im Bau Menü)
    70 = Ein Gebäude wurde geklickt (Ein Thumb im Bau Menü)
    80 = Ein Special wurde geklickt (Ein Thumb im Bau Menü)
    99 = Ein Stück der Map!
  *)

  If (Sprite Is TMap) Then AktColl := 99;
(*
  If (Sprite Is TButtons) And (Edifices.Visible = True) Then
    AktColl := 50;
*)

  If (Sprite Is TButtons) Then AktColl := 50;
  If (Sprite Is TThumbUnits) And (ThSold.Visible = True) Then AktColl := 60;
  If (Sprite Is TThumbGeb) And (ThIonCanon.Visible = True) Then AktColl := 70;
  If (Sprite Is TThumbSpecials) And (ThBiohazard.Visible = True) Then
    AktColl := 80;

  AktSprite := Sprite


End;
Und hier wird das dann ausgewertet!

Delphi-Quellcode:
Procedure TfrmMain.DXDrawMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
Var

  (* 1) Laufvariable
    2) Der alte und der neue Name für das Bild, was geladen wird!
  *)

  I: Integer;
  Alter, Neuer: String;


Begin

  (* 1) Wenn der aktuelle SPrite leer ist, dann raus!
    2) 50 bedeutet ist ist eines der Option - Schilder
    3) Erstmal alle Schilder wieder auf standard!
    4) Dann wird geprüf, ob der aktzelle ein 'Cho' (Choosen) vor dem namen
        stehen hat. Wenn ja, kommt es weg, sonstr davor!
    5) Das neue Bild wird zugewiesen!
  *)

  If AktSprite = Nil Then Exit;
  Case AktColl Of
    50:
      Begin

      End;
    60:
      Begin

      End;
    70:
      Begin

      End;
    80:
      Begin

      End;
    99:
      Begin

      End;
  End;
End;

End;
Hab die Code Teile aus der Case Anweisung mal rausgenommen......
Hendrik
So much to Code... so less Time....

www.RicaneSoftware.de
  Mit Zitat antworten Zitat