AGB  ·  Datenschutz  ·  Impressum  







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

Spiel programmieren, ( if Image1.picture= ???)

Ein Thema von Bosgu · begonnen am 2. Jun 2011 · letzter Beitrag vom 4. Jun 2011
Antwort Antwort
Seite 1 von 2  1 2      
Bosgu

Registriert seit: 2. Jun 2011
13 Beiträge
 
#1

Spiel programmieren, ( if Image1.picture= ???)

  Alt 2. Jun 2011, 21:41
Delphi-Version: 5
Hallo und guten Tag,

ich bin zur Zeit dran ein kleines Spiel zumachen, leider habe ich nun ein kleines Problem. Ich hatte versucht über die Suchfuntion hier und über google was zu finden, leider erfolsglos.

Nun wollte ich hier mal fragen ob es möglich ist bei einem Image abzufragen ob ein bestimmtes Bild geladen wurde.

Beispiel:

Code:
if Zone1.Picture = (C:\Projekt Duell (end.)\Bilder\Saloon\A1a.png) then
begin
showmessage('peng');
end;
Ich hoffe hier kann mir jemand helfen.

MfG
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Spiel programmieren, ( if Image1.picture= ???)

  Alt 2. Jun 2011, 21:43
Diese Information musst du gesondert abspeichern.
Markus Kinzler
  Mit Zitat antworten Zitat
Bosgu

Registriert seit: 2. Jun 2011
13 Beiträge
 
#3

AW: Spiel programmieren, ( if Image1.picture= ???)

  Alt 2. Jun 2011, 22:27
Könntest du mir sagen wie ich die bild information gesondert speichern kann damit meine if abfrage funtioniert?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#4

AW: Spiel programmieren, ( if Image1.picture= ???)

  Alt 2. Jun 2011, 22:49
Du nimmst eine Stringvariable und wenn du etwas in das Image lädst, dann speicherst du dort den Namen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Bosgu

Registriert seit: 2. Jun 2011
13 Beiträge
 
#5

AW: Spiel programmieren, ( if Image1.picture= ???)

  Alt 2. Jun 2011, 23:19
hab nun versucht mit einem string

Code:
begin
Zone1.Picture.loadfromfile('C:\Projekt Duell (end.)\Bilder\Saloon\A1a.png');
bilda:=('C:\Projekt Duell (end.)\Bilder\Saloon\A1a.png');
end;
oder
Code:
begin
Zone1.Picture.loadfromfile('C:\Projekt Duell (end.)\Bilder\Saloon\A1a.png');
bilda:=Zone1.picture;
end;
und
Code:
if Zone1.Picture = bilda then
begin
showmessage('peng');
end;

kommt dieser Fehler

unit2.pas(222,9) Error: Incompatible types: got "TPicture" expected "AnsiString"

diese beiden typen sind mir leider nicht bekannt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Spiel programmieren, ( if Image1.picture= ???)

  Alt 3. Jun 2011, 07:20
Delphi-Quellcode:
if bilda = 'C:\Projekt Duell (end.)\Bilder\Saloon\A1a.pngthen
begin
    showmessage('peng');
end;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Spiel programmieren, ( if Image1.picture= ???)

  Alt 3. Jun 2011, 07:55
Allerdings finde ich die Speicherung als String nicht unbedingt elegant, mit einem eigenen Typ z.B. wäre das schöner.
Delphi-Quellcode:
type
  TBildTyp = (btIrgendwas, btWasAnderes, btWasGanzAnderes);
Nun setzt man den Bildtyp, kann den elegant ohne String auswerten oder je nach Typ die entsprechende Datei laden (von Platte oder aus den Ressourcen) etc.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: Spiel programmieren, ( if Image1.picture= ???)

  Alt 3. Jun 2011, 09:02
Allerdings finde ich die Speicherung als String nicht unbedingt elegant, mit einem eigenen Typ z.B. wäre das schöner.
Delphi-Quellcode:
type
  TBildTyp = (btIrgendwas, btWasAnderes, btWasGanzAnderes);
Nun setzt man den Bildtyp, kann den elegant ohne String auswerten oder je nach Typ die entsprechende Datei laden (von Platte oder aus den Ressourcen) etc.
Daran anknüpfend kann man das dann zB auch so machen:

Delphi-Quellcode:
type
  TZoneType = (ztSaloonA1, ztSaloonA2, ...);

const
  ZoneRootPath = 'C:\Projekt Duell (end.)\Bilder\';
  ZoneImages: Array[TZoneTyp] of String =
    ('Saloon\A1a.png', 'Saloon\A2a.png', ...);

var
  CurrentZoneType: TZoneType;

begin
  ...

  CurrentZoneType := ztSaloonA1;
  Zone1.Picture.LoadFromFile(ZoneRootPath + ZoneImages[CurrentZoneType]);
  Zone1.Tag := Integer(CurrentZoneType);

  ...

  if TZoneType(Zone1.Tag) = ztSaloonA1 then
    begin
      ShowMessage('peng');
    end;

  ...
end;
  Mit Zitat antworten Zitat
Bosgu

Registriert seit: 2. Jun 2011
13 Beiträge
 
#9

AW: Spiel programmieren, ( if Image1.picture= ???)

  Alt 3. Jun 2011, 09:45
Vielen Dank,

dass mit dem String klappt nun richtig. Aber an das mit den typen trau ich mich nicht rumzuprobieren, muss da noch etwas lernen um damit zurecht zukommen.

Wenn ich noch welche probleme habe wende ich mich an euch.

Danke noch mal.

MfG
  Mit Zitat antworten Zitat
Bosgu

Registriert seit: 2. Jun 2011
13 Beiträge
 
#10

AW: Spiel programmieren, ( if Image1.picture= ???)

  Alt 4. Jun 2011, 10:40
Hallo ich bins wieder;

hab wieder ein einfaches Problem.

Habe Form1 und Form2.

Form1 fungiert als Hauptmenü was dann From2 öffnet, dies funtioniert auch richtig.

Das Problem ist nach dem man Form2 gewonnen/verloren hat soll man wieder zum Menü und dort neu starten können. Ich kann zwar Form2 visible/enabled false machen aber das löscht sie nicht und wenn der button des menüs aktiviert wird geht schon das durchlaufene programm auf.

Kurz gefasst brauche ich ein Befehl der Form2 erstellt und das alter löscht durch einen button klick.

MfG
  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 13:02 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