AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Selber Name

Ein Thema von ISAS · begonnen am 26. Sep 2003 · letzter Beitrag vom 1. Okt 2003
Antwort Antwort
Benutzerbild von ISAS
ISAS

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

Selber Name

  Alt 26. Sep 2003, 19:17
Kann ich irgendwie 2 Images den selben Namen geben.
Ich würde das hier nicht reinschreiben, wenn es sich nicht um ein Spiel und daher 100 Images handelt, die alle dieselben Eigenschaften haben. Ich könnte das auch irgendwie mit Variablen machen, aber das ist sehr kompliziert und dies hier wäre die einfachste Lösung
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Selber Name

  Alt 26. Sep 2003, 19:30
Moin ISAS,

was bezeichnest Du in diesem Zusammenhang als Image?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
aps

Registriert seit: 21. Sep 2003
Ort: Hameln
62 Beiträge
 
Delphi 6 Professional
 
#3

Re: Selber Name

  Alt 26. Sep 2003, 19:40
Zitat von ISAS:
Kann ich irgendwie 2 Images den selben Namen geben.
Jeder Objektname darf (natürlicherweise) nur einmal vorhanden sein. Entsprechend wird das, was du vorhast, wohl nicht gehen. Nimm dafür doch ein Array, ist zwar erstmal mit mehr Arbeit verbunden, dafür aber hinterher sehr komfortabel in der Wartung.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von ISAS
ISAS

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

Re: Selber Name

  Alt 26. Sep 2003, 19:44
Ja ein normales Bild. Ich hab hier zB. einen Orc(Name Orc 1), der sich automatisch so steuert, angreift, reagiert.... Wenn nun aber ein 2 Orc (Orc 2) hier ist, müsste ich nun für den 2 Orc nochmal das gleiche schreiben, wie für den Ersten. Das er dem Spieler folgen soll, das er nicht über Steine und so gehen kann. Das, wenn ich es so nennen kann, Spiel besteht aus Images die Koordinaten haben. Ich weiss nicht, wie ich dass besser Erklären könnte, nur wenn hier nun 5 Orcs auf einmal sind, ist das nicht nur viel Arbeit zum Schreiben sondern auch ein Leveleditor etc wären schwer möglich. Ich müsste dann überall was reinschreiben. Jeder Stein, Baum oder Strauch blockt Orcs und das steht in jedem drin. Wenn ich den Sträuchern einen einheitlichen Namen geben könnte, dann schaffe ich das Spiel sicher. Nur wenn jeder Stein, Baum oder Strauch eigen Programmiert werden müsste und zusätzlich jeden Gegner, welche auch respawmen (immer wieder zurückkehren), dann ensteht so ein durcheinander, dass ich mich nicht mehr auskennen würde.
  Mit Zitat antworten Zitat
aps

Registriert seit: 21. Sep 2003
Ort: Hameln
62 Beiträge
 
Delphi 6 Professional
 
#5

Re: Selber Name

  Alt 26. Sep 2003, 19:53
Zitat von ISAS:
Ich hab hier zB. einen Orc(Name Orc 1), der sich automatisch so steuert, angreift, reagiert.... Wenn nun aber ein 2 Orc (Orc 2) hier ist, müsste ich nun für den 2 Orc nochmal das gleiche schreiben, wie für den Ersten.
Ich glaube, du hast das OOP Prinzip noch nicht so recht verstanden, kann das sein?
Der Vorteil von OOP ist doch gerade, dass du nur einmal ein Class samt aller Methoden schreibst, daraus dann deine 100 Objektinstanzen bildest und dann diese Objektinstanzen sich selbst überlässt.

Oder auf Deutsch:
Nicht den Apfel blau anmalen, sondern dem Apfel sagen, dass er sich selbst blau anzumalen hat.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von ISAS
ISAS

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

Frage:

  Alt 27. Sep 2003, 20:30
Wie kann ich das machen??

Die Idee ist da, aber die Umsetzung.

Delphi soll mir einfach ein Image mit bestimmten Koordinaten erstellen, ein bestimmtes Bild aus einer Datei laden und zusätzlich noch dem Image einen bestimmten Namen geben. Ich weiss nur leider nicht, wie ich das anstellen kann. Wenn ich das herausgefunden habe, dann wäre mein Projekt schon viel, viel weiter.

Wenn es irgendwie anders geht, dann ist mir das auch egal, nur es sollte das selbe Ergebniss zeigen.
  Mit Zitat antworten Zitat
Benutzerbild von ISAS
ISAS

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

Re: Selber Name

  Alt 27. Sep 2003, 21:22
Jetzt fehlt mir nur noch, dass mir Delphi ein Image erstellt und 2 Images denselben Namen haben .

Andere Möglichkeiten sind auch erwünscht.

Koordinaten wusste ich sowieso und das Bild laden war nicht schwer zu finden.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Selber Name

  Alt 28. Sep 2003, 03:35
Moin ISAS,

versuch' Dich doch mal mit dem objektorientierten Ansatz von aps vertraut zu machen.
Ich hab' Dir dafür mal ein Beispiel erstellt, wie man das anfangen könnte.
Das ist jeweils alles rudimentär, da noch viele Methoden und Eigenschaften fehlen, sollte aber mal einen Ansatz liefern.

Delphi-Quellcode:
type
  // Für jedes Objekt eine Möglichkeit vorsehen, hier mal zwei verschiedene Orcs, und ein Baum
  TMyGameObjectTypes = (gotOrcTyp1,gotOrcTyp2,gotTree);

  // Hierin wird alles für alle einzelnen Objekte
  // Man könnte das auch feiner aufbauen, indem man z.B. zwei Varianten vorsieht
  // eine für bewegliche und eine für statische Objekte
  TMyGameObject = class(TObject)
  private
    FgoType : TMyGameObjectTypes;
    // Koordinaten usw. müssen noch ergänzt werden
  public
    constructor Create(const AgoType : TMyGameObjectTypes);
    property goType : TMyGameObjectTypes read FgoType;
  end;

  // Hier werden dann alle Objekte zusammengefasst
  // Man kann sie Dann über ihren Namen, oder einen Index abfragen
  // Im constructor kann man dann den Pfad zu den eigentlichen Bildern ablegen, damit diese hier
  // z.B. in einer ImageList gespeichert werden können, und nicht mehrfach vorkommen müssen
  TMyGameObjects = class(TObject)
  private
    FgoList : TList;
    // z.B. eine Liste für die Bilder müsste noch ergänzt werden.
    FsPicturePath : string;
    function GetGameObjectN(Index: integer): TMyGameObject;
    function GetGameObjectS(AsName: string): TMyGameObject;
  public
    constructor Create(const AsPicturePath : string);
    procedure New(const AsName : string;const AgoType : TMyGameObjectTypes);
    property GameObjectN[Index:integer] : TMyGameObject read GetGameObjectN;
    property GameObjectS[AsName : string] : TMyGameObject read GetGameObjectS;
  end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von ISAS
ISAS

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

Re: Selber Name (und eine neue Idee)

  Alt 1. Okt 2003, 12:57
Mit dem Text ober mir komm ich irgendwie nicht klar.
Aber dafür habe ich was gefunden, das mir leichter erscheint .
Der Quellcode für ein Label geht so:

var
i:integer;
----------------------
for i:= 1 to 10 do
(Findcomponent('Label'+IntToStr(i)) as TLabel).Caption:=IntToStr(i);

Das wäre der Quellcode für mein Image:

(Findcomponent('Image'+IntToStr(i))as TImage).left:=('Image'+IntToStr(i))as TImage).left+33;


(Meine Idee wäre, dass es 10 Images gibt (Image1, Image2.....Image10).
Durch das "for i:= 1 to 10 do" wird i als die Zahl nach dem Image gesetzt.
Als leichtes Beispiel:

i:=1
Image(i) = Image1
i:=2
Image(i) = Image2
i:=10
Image(i) = Image10

Nur irgendetwas stimmt nicht und ich komm einfach nicht drauf .
Aber eins weiss ich sicher. Wenn das irgendwie funktioniert, dann nehm ich das.
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
 
#10

HHHAAABBBSSS!!!

  Alt 1. Okt 2003, 13:18
procedure TForm1.Button1Click(Sender: TObject);
begin

for i:=1 to 2 do

(Findcomponent('Image'+inttostr(i))as TImage).left:=
(Findcomponent('Image'+inttostr(i))as TImage).left+33;

end;

end.

Wenn ich nun auf den Button klick, dann bewegen sich Image1 und Image 2 "33" nach rechts.
Das nun in nen Timer einbauen und fertig.

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 13:36 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