AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign per Script erstellte Images in eine Array eingliedern
Thema durchsuchen
Ansicht
Themen-Optionen

per Script erstellte Images in eine Array eingliedern

Offene Frage von "mkinzler"
Ein Thema von Mortex · begonnen am 13. Okt 2017 · letzter Beitrag vom 14. Okt 2017
Antwort Antwort
Seite 1 von 2  1 2      
Mortex

Registriert seit: 13. Okt 2017
5 Beiträge
 
#1

per Script erstellte Images in eine Array eingliedern

  Alt 13. Okt 2017, 17:58
Hallo,

ich programmiere zurzeit ein eigenes Jump ’n’ Run und bin gerade dabei es erst einmal zu strukturieren. Ich möchte alle Objekte im Spiel als Images verwenden, d.h.: Ich will z.Bsp. per Script in eine Groupbox namens "Groupbox Spielfeld" ein Image namens "Spieler" und 19 weitere Images namens "Gegner1" bis "Gegner19" erstellen. Wie das funktioniert, weiß ich bereits. Nun möchte ich aber diese frisch erstellten Images in eine Array "Charakter: array [1..20] of TImage;" einfügen, also wie: siehe angehängte Txt-Datei.
(Zu diesem Array kommen weitere Arrays für die Position, Vorhandensein und Textur der Images Hinzu, ebenfalls [1..20])
Delphi gibt mir aber eine Fehlermeldung aus: undefinierter Bezeichner Spieler, undefinierter Bezeichner Gegner1,.... undefinierter Bezeichner gegner19.

Was muss ich tun, dass Delphi diesen Code compilieren kann, sodass die 20 per Script erstellten Images gleich in die Array eingegliedert werden. Es wäre zu mühsam alle Images im Userform manuell zu erstellen und zu beschriften, da mindestens 100 weitere Images dazukommen werden, auf die ich dann auch zugreifen möchte (wie z.B. Hindernisse und Items)

Kann mir jemand mit diesem Problem helfen oder muss ich komplett umdenken?
Angehängte Dateien
Dateityp: txt Script.txt (1,3 KB, 18x aufgerufen)
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#2

AW: per Script erstellte Images in eine Array eingliedern

  Alt 13. Okt 2017, 18:02
Ich hab mir dein Script nicht angeguckt. Aber das hier... Charakter: array [1..20] of TImage; bitte abändern in Charakter: array [0 .. 19] of TImage;
  Mit Zitat antworten Zitat
Mortex

Registriert seit: 13. Okt 2017
5 Beiträge
 
#3

AW: per Script erstellte Images in eine Array eingliedern

  Alt 13. Okt 2017, 18:08
Ok, aber es hat auch mit [1..20] in anderen Projekten funktioniert...
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#4

AW: per Script erstellte Images in eine Array eingliedern

  Alt 13. Okt 2017, 18:16
Dass das funktioniert ist klar. Aber es ist falsch denn ein Array hat eine 0-basierte Zählung. Ein Array fängt bei 0 an, nicht bei 1.

Charakter[0] => erster Eintrag
Charakter[1] => zweiter Eintrag
Charakter[2] => dritter Eintrag
usw
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.081 Beiträge
 
Delphi 2009 Professional
 
#5

AW: per Script erstellte Images in eine Array eingliedern

  Alt 13. Okt 2017, 18:18
Was sollen denn diese ganzen Zuweisungen am Ende des "Scripts"? Derzeit funktionieren sie nicht, weil du den Array-Einträgen einfach irgendwelche Bezeichner zuweist, die gar nicht existieren.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Mortex

Registriert seit: 13. Okt 2017
5 Beiträge
 
#6

AW: per Script erstellte Images in eine Array eingliedern

  Alt 13. Okt 2017, 18:43
Wie ich es schon erklärt habe: Die Images werden erstellt und bekommen einen Namen. Und mit diesem Namen Sollen sie in der Array zugeteilt werden. Wie mache ich das, dass die Namen gefunden werden...sie sind da...aber nicht ganz. Und das verstehe ich als Anfänger nicht.
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#7

AW: per Script erstellte Images in eine Array eingliedern

  Alt 13. Okt 2017, 18:50
Für dein Vorhaben brauchst du gar kein Array. Du kannst doch direkt auf "Spieler" und "GegnerX" zugreifen.

Delphi-Quellcode:
(FindComponent('Spieler') as TImage). .....
(FindComponent('Gegner2') as TImage). .....

Oder halt so. Guck dir den Code genau an und lerne die Unterschiede zu deinem kennen!

Delphi-Quellcode:
var
 bit: TImage;
 i, AnzahlCharakter: Integer;
 Charakter: array [0 .. 19] of TImage;
begin
 AnzahlCharakter := Length(Charakter);

 bit := TImage.Create(GroupBoxSpielfeld);
 bit.Parent := GroupBoxSpielfeld;
 bit.Name := 'Spieler';
 bit.left := 0;
 bit.top := 10;
 bit.width := 50;
 bit.height := 50;
 bit.picture.LoadFromFile('Daten/Texturen/Leer.bmp');

 Charakter[0] := bit;

 For i := 1 to AnzahlCharakter - 1 do
  begin
   bit := TImage.Create(GroupBoxSpielfeld);
   bit.Parent := GroupBoxSpielfeld;
   bit.Name := 'Gegner' + InttoStr(i + 1);
   bit.left := 50 + i * 50;
   bit.top := 0;
   bit.width := 50;
   bit.height := 50;
   bit.picture.LoadFromFile('Daten/Texturen/Leer.bmp');

   Charakter[i] := bit;
  end;
end;
Kleiner Tipp: Delphi verzeiht viel. Aber lerne schon jetzt, dass man Groß- und Kleinschreibung respektieren sollte.

Geändert von Glados (13. Okt 2017 um 18:58 Uhr)
  Mit Zitat antworten Zitat
Mortex

Registriert seit: 13. Okt 2017
5 Beiträge
 
#8

AW: per Script erstellte Images in eine Array eingliedern

  Alt 13. Okt 2017, 19:00
Ok. Danke erstmal
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.081 Beiträge
 
Delphi 2009 Professional
 
#9

AW: per Script erstellte Images in eine Array eingliedern

  Alt 13. Okt 2017, 19:10
Ach so der Name. Den spricht man aber so an:
(Self.FindComponent('Name') as TImage)
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Mortex

Registriert seit: 13. Okt 2017
5 Beiträge
 
#10

AW: per Script erstellte Images in eine Array eingliedern

  Alt 13. Okt 2017, 19:13
Ich verstehe jetzt nicht so ganz, wo ich das einbauen soll
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

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 18:40 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