Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Andorra 2D Bewegung von Figuren (https://www.delphipraxis.net/165597-andorra-2d-bewegung-von-figuren.html)

DeddyH 9. Jan 2012 18:49

AW: Andorra 2D Bewegung von Figuren
 
Ich nehme an, X und Y sind Eigenschaften der Elternklasse TImageSprite?

garfield.92 10. Jan 2012 18:04

AW: Andorra 2D Bewegung von Figuren
 
jop, müsste so sein.

Coffeecoder 11. Jan 2012 07:03

AW: Andorra 2D Bewegung von Figuren
 
Zitat:

Zitat von DeddyH (Beitrag 1145114)
Ich nehme an, X und Y sind Eigenschaften der Elternklasse TImageSprite?

Zitat:

Zitat von garfield.92 (Beitrag 1145265)
jop, müsste so sein.

Wenn das so wäre, muss man nicht noch in deinem Konstruktor auch den Konstruktor deiner Elternklasse TImageSprite aufrufen?

DeddyH 11. Jan 2012 07:07

AW: Andorra 2D Bewegung von Figuren
 
Das stimmt zwar, dürfte aber mit den X- und Y-Eigenschaften nichts zu tun haben (es sei denn, das wären Objekte, was ich aber nicht glauben mag).

Coffeecoder 11. Jan 2012 07:12

AW: Andorra 2D Bewegung von Figuren
 
Vielleicht hast du dieses Tutorial gesehen, aber das hier kannst du dir auch mal angucken.

garfield.92 11. Jan 2012 16:53

AW: Andorra 2D Bewegung von Figuren
 
Nach diesem Tutorial bin ich ja vorgegangen und habe den Konstruktor auch daraus.
Durch das inherited rufe ich doch die Elternklasse auf oder?

DeddyH 11. Jan 2012 17:27

AW: Andorra 2D Bewegung von Figuren
 
inherited ruft die Implementation der Vorfahrklasse auf.

garfield.92 11. Jan 2012 18:29

AW: Andorra 2D Bewegung von Figuren
 
Okay

Blup 12. Jan 2012 16:48

AW: Andorra 2D Bewegung von Figuren
 
Ein Unterschied zum Tutorial ist mir sofort ins Auge gefallen:
Delphi-Quellcode:
Figur := TFigur.Create(AdSpriteEngine);
...
Delphi-Quellcode:
croco:=Tcroco.Create(nil);
...
Das Croco darf vermutlich erst nach der SpriteEngine erzeugt werden und muss mit dieser bekannt gemacht werden.

IceBube 12. Jan 2012 21:07

AW: Andorra 2D Bewegung von Figuren
 
Die Sprite in der Engine erzeugen ist schon oke, wird auch in den Tutorial's so gemacht!

Muss schon sagen dass dein Source sehr komisch ausschaut, entweder du erstellst ein Sprite (TImageSprite/EX) oder du zeichnest die Figur!

Ein Sprite erzeugst du am Anfang (Form.Create) bzw. einmal:
Delphi-Quellcode:
procedure TForm.onCreate...
begin
 //Erstellen deines Sprites
 Croco := TimageSprite.Create(DeineSpriteEngine);
 with Croco do
 begin
  X     := 0;
  Y     := 0;
  xSpeed := 1;
  Image := AdImageList1.Find('croco');
  AnimActive := FALSE;
 end;
end;
Wenn du deine Figur in jede beliebige Richtung bewegen möchtest mittel's WASD:
Du musst die Procedure mit der Form verbinden, sonst passiert nichts!
Delphi-Quellcode:
procedure TForm.onKeyPress(var Key...);
begin
 case Key do
 begin
  'a':
  begin
   Croco.X := Croco.X + xSpeed;
   iF (Croco.AnimPos = Croco.AnimCount) Then
    Croco.AnimPos := Croco.AnimStart
   ELSE
    Croco.AnimPos := Croco.AnimPos + 1;
  end;
  'd':
  begin
   ...
  end;
 end;
end;
Hoffe das ist verständlich, aber ist schon lange her..dass ich Andorra verwendet habe :/

lg


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:02 Uhr.
Seite 2 von 3     12 3      

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