AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Lösung für 2D Brett
Thema durchsuchen
Ansicht
Themen-Optionen

Lösung für 2D Brett

Offene Frage von "KahPee"
Ein Thema von KahPee · begonnen am 13. Mai 2009 · letzter Beitrag vom 18. Mai 2009
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Benutzerbild von KahPee
KahPee

Registriert seit: 12. Mai 2009
214 Beiträge
 
Turbo Delphi für Win32
 
#1

Lösung für 2D Brett

  Alt 13. Mai 2009, 12:57
Hallo,
so jetzt bin ich soweit, dass ich meine zweite Frage stellen muss, da ich an einer Stelle nicht mehr weiter weis.
Ich bin dabei ein Spiel Brett in 2D mit 7*7 Feldern zu erstellen, das ist soweit kein Problem. Für jedes Feld gibt es nun ca. 12 (evtl nen bisschen mehr) verschiedene Grafiken, die unter gewissen Bedingungen auf dem Feld erscheinen können. Nun die Frage wie man das realisiert.
Eine Möglichkeit (die ich auch hinkriegen würde) ist auf jedes Feld alle 12 Grafiken zu legen und diese im Laufe des Spiels mit visible := True/false an und auszuschalten. Allerdings ist dieses zum einen recht umständlich und zum anderen hat das ganze eine recht lange Ladezeit, da meines Wissens beim Starten auch die versteckten Grafiken geladen werden.

Ich weis nicht ob dieses in irgendeiner Art und weise mit einem Record realisierbar ist, da jedes Feld zusätzlich noch andere Eigenschaften bekommen muss (X-, Y- koordinaten auf dem Brett, und anderes)

Vielen Dank schon mal im Voraus


KahPee
  Mit Zitat antworten Zitat
quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Lösungs für 2D Brett

  Alt 13. Mai 2009, 13:04
Mein Vorschlag wäre ein Panel, welches eine Größe von 7* Feldhöhe x 7* Feldbreite hat. Auf das Panel-Canvas "kann was" (Wortspiel) gezeichnet werden und so kannst du dann auch die Bilder je nach ihren Bedingungen aufzeichnen.
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat
Benutzerbild von KahPee
KahPee

Registriert seit: 12. Mai 2009
214 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Lösungs für 2D Brett

  Alt 13. Mai 2009, 13:06
Mh, ich bin da Anfänger, daher Frage ich nochmal nach was genau du gemeint hast. Sorry, dass ich mich da etwas schwerer tue aber es wäre nett wenn du, dass nochmal ein bisschen genauer erläutern könntest.

Vielen Dank


Edit: Gibt es irgendeine create anweisung für Bilder? Dann müsste ich die einzelnen Bilder irgendwo doch nur einmal deklarieren und könnte sie dann wenn "iwas passiert" einfach an bestimmter Stelle erzeugen, dann ist jedes Bild im prinzip nur einmal vorhanden. Ich meine, dass man auf so ein Bild dann ähnlich wie auf eine vorherdefinierte Prozedur zugreifen kann. Gibt es sowas?
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Lösungs für 2D Brett

  Alt 13. Mai 2009, 13:06
Ich würde eine Klasse A bauen in der alle Bilder einmalig geladen werden (in eine Liste von TBitmap).

Dann würde ich die Klasse B bauen (evtl. von TImage ableiten), welche ein Feld repräsentiert. Diese Klasse bekommt beim erstellen eine Referenz auf Klasse A, damit es sich von dort per Index das entsprechende Bild holen kann. Und jetzt hat Klasse B eine Methode, welche sagt, dass jetzt Bild Nummer 4 anzuzeigen ist, dann kopiert sie sich eben aus Klasse A bild nummer 4 und fertig.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von KahPee
KahPee

Registriert seit: 12. Mai 2009
214 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Lösungs für 2D Brett

  Alt 13. Mai 2009, 13:10
OH, siehe mein Edit oben (da warst du schneller)... genau an soetwas habe ich gedacht. Kannst du mir einmal ein Beispiel geben wie ich in einer Klasse ein Bild definiere?
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Lösung für 2D Brett

  Alt 13. Mai 2009, 13:12
Für ein Bitmap:
Delphi-Quellcode:
(var) Bitmap:TBitmap;
...

Bitmap:=Tbitmap.create;
Bitmap.Loadfromfile(dateiname);


...
Am Ende irgendwann dann Bitmap.free
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von KahPee
KahPee

Registriert seit: 12. Mai 2009
214 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Lösung für 2D Brett

  Alt 13. Mai 2009, 13:53
Ich gucke mal kurz ob ich die Syntax verstanden habe:
Zitat:
(var) Bitmap:TBitmap; // damit wird eine variable (für alle Bilder) vom Typ Tbitmap
//(ist automatisch deklariert) deklariert
...

Bitmap:=Tbitmap.create; // Platzhalter für das Bild wird kreiert
Bitmap.Loadfromfile(dateiname); //Befehl um den platzhalter durch das eigentliche Bild zu ersetzen


...
Am Ende irgendwann dann Bitmap.free // den Befehl verstehe ich nocht nicht...
So dann halt wie oben beschrieben die eine Frage, was bedeute Bitmap.free?
Ist das um das Bild wieder durch einen Platzhalter zu ersetzen?

Wie deklariere ich die eigentliche Bildklasse? Reicht das wirklich das einfache: (var) Bitmap:TBitmap;?

Die Klasse für das Feld muss im Prinzip ja auch einen Platzhalter enthalten oder? Wie definiere ich soetwas?

Wie sähe der Befehl für ein .jpg aus?


Sorry für diese Vielen Fragen, ich bin halt noch blutiger Anfänger, ich hoffe, dass ich irgendwann mal in der Lage bin die mir entgegengebrachte Hilfe zurückzuzahlen...

mfg Kahpee
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#8

Re: Lösung für 2D Brett

  Alt 13. Mai 2009, 14:00
Hallo,

Bitmap.Free

benötigst Du, damit der reservierte Speicher wieder
freigegeben wird, wenn dein Programm geschlossen wird.

Der Befehl lässt sich gut im Ereignis OnClose anwenden.
Markus H.
  Mit Zitat antworten Zitat
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#9

Re: Lösung für 2D Brett

  Alt 13. Mai 2009, 14:06
Hallo KahPee,

schau mal auf die Seite und lies dir das durch! ich denke da bekommst du auch ne gute Anregeung wie man sowas realisieren kann!

http://www.christian-stelzmann.de/artikel/crashkurs.htm
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Lösung für 2D Brett

  Alt 13. Mai 2009, 14:12
TImageList wäre dann noch eine fertige Komponente, die Bilderlisten verwaltet.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 19:10 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