AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Andorra 2d Klasseninstanzen (Sprites)
Thema durchsuchen
Ansicht
Themen-Optionen

Andorra 2d Klasseninstanzen (Sprites)

Ein Thema von Noobmaster · begonnen am 31. Jul 2010 · letzter Beitrag vom 2. Aug 2010
Antwort Antwort
Noobmaster

Registriert seit: 18. Jul 2010
114 Beiträge
 
FreePascal / Lazarus
 
#1

Andorra 2d Klasseninstanzen (Sprites)

  Alt 31. Jul 2010, 12:14
Hallo Leute!
Wie kann ich auf einzelne Instanzen einer von TImageSprite abgeleiteten Klasse zugreifen?
Delphi-Quellcode:
          for i:=1 to Kugelanzahl do
          begin
               with TKugel.Create(AdSpriteEngine) do
               begin
                    Image := AdImageList.Find('Kugel'+IntToStr(i));
                    Nummer := i;
               end;
          end;
Ich möchte also jetzt zum Beispiel schreiben: Kugel1.X := Kugel2.X - Kugel3.X
Aber wie greife ich auf Kugel1.X zu?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Andorra 2d Klasseninstanzen (Sprites)

  Alt 31. Jul 2010, 12:15
Schlechte Lösung: FindComponent()
Besser: Ablage der Kugeln in Array oder Liste
Markus Kinzler
  Mit Zitat antworten Zitat
Noobmaster

Registriert seit: 18. Jul 2010
114 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Andorra 2d Klasseninstanzen (Sprites)

  Alt 31. Jul 2010, 12:17
Wie muss ich dann obiges Beispiel abwandeln, um die Instanzen in Arrays abzulegen?
Ich habe bisher Klasseinstanzen immer mit Arrays erstellt, aber Andorra 2d verwirrt mich immer ein bisschen.
Kugel[1] := TKugel.Create(AdSpriteEngine) ?

Geändert von mkinzler (31. Jul 2010 um 12:25 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
Noobmaster

Registriert seit: 18. Jul 2010
114 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Andorra 2d Klasseninstanzen (Sprites)

  Alt 31. Jul 2010, 12:24
Gut hat geklappt, danke!
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Andorra 2d Klasseninstanzen (Sprites)

  Alt 31. Jul 2010, 13:10
Bitte nichts in ein zusätzliches Array speichern! Du kannst einfach über SpriteEngine.Items darauf zugreifen.

Beispiel:
Delphi-Quellcode:
var
  k: TKugel;

for i := 0 to SpriteEngine.Items.Count - 1 do
begin
  if SpriteEngine.Items[i] is TKugel then
  begin
    k := TKugel(SpriteEngine.Items[i]);
    k.TuWasMitDerKugel();
  end;
end;
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Noobmaster

Registriert seit: 18. Jul 2010
114 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Andorra 2d Klasseninstanzen (Sprites)

  Alt 31. Jul 2010, 16:25
Dumme Frage: Was passiert denn, wenn man trotzdem in einem weiteren Array abspeichert?
Ich mein, ob ich jetzt k als Array mache und dort alle Klasseninstanzen abspeichere oder alle Klasseninstanzen sofort als Array erstelle macht doch im Prinzip keinen Unterschied. Ich finde, dass letztere Lösung sogar die einfachere und elegantere Lösung ist. Sollte ich mich irren - so gut kenne ich mich da ja nicht aus - dann sag bitte bescheid, wieso man das nicht machen sollte.
Danke

Geändert von Noobmaster (31. Jul 2010 um 16:27 Uhr)
  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 22:53 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