AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Anfängerhilfe Labyrinth
Thema durchsuchen
Ansicht
Themen-Optionen

Anfängerhilfe Labyrinth

Ein Thema von skaot · begonnen am 19. Nov 2008 · letzter Beitrag vom 21. Nov 2008
Antwort Antwort
Seite 2 von 2     12   
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#11

Re: Anfängerhilfe Labyrinth

  Alt 19. Nov 2008, 18:57
Die Variable b ist zwar vom Typ TBitmap, aber du musst natürlich eine Instanz davon erzeugen, bevor du sie benutzen kannst.

b := TBitmap.Create; Damit wird ein Objekt vom Typ TBitmap erzeugt, d.h. unter anderem wird der dafür benötigte Speicher reserviert. Um diesen Speicher auch wieder freizugeben musst du, wenn du "b" nicht mehr brauchst auch noch


b.Free; einfügen. Damit wird die Instanz wieder freigegeben.

Wo du das jetzt machen musst, hängt davon ab wo du "b" deklarierst. In diesem Fall wäre es OK "b" als lokale Variable in deiner "KeyPress" Prozedur zu deklarieren. Demnach erzeugst du "b" bevor du es verwenden willst und gibst es am Ende wieder frei.

Übrigens: Ich halte es für sehr wichtig, dass du auch verstehst, was dir hier gezeigt wird. Einfaches Abtippen bringt dir rein gar nichts. Im Zweifelsfall frag lieber mal nach, was "b" überhaupt bewirken soll.
  Mit Zitat antworten Zitat
skaot

Registriert seit: 18. Nov 2008
8 Beiträge
 
#12

Re: Anfängerhilfe Labyrinth

  Alt 19. Nov 2008, 20:18
Also das mit dem Bitmap check ich grad gar nicht Werde mal im internet nach ein paar anständigen Tutorials suchen.
Und ich hab noch ne kleine Frage. Wie schaffe ich es das wenn ich auf Vollbild schalte nicht nur das formular größer wird sondern alles "gestreckt" wird?

Aber schon ermutigend was man als Anfänger schon so alles anstellen kann.
Angehängte Dateien
Dateityp: exe labyrinth2kugeln_984.exe (369,5 KB, 20x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#13

Re: Anfängerhilfe Labyrinth

  Alt 20. Nov 2008, 06:47
Also wenn du die TBitmap vairante hast dann ist das mit dem "Größer" werden Kein Problem

du kannst dann anstatt

Form1.canvas.draw(0,0,b); einfach

Form1.canvas.stretchdraw( ... ); nehmen. Für die Genaue parametriesierung hilft die F1 Taste .
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
skaot

Registriert seit: 18. Nov 2008
8 Beiträge
 
#14

Re: Anfängerhilfe Labyrinth

  Alt 20. Nov 2008, 14:50
Ich glaube ich lass das mit Bitmap erstmal weg versteh das nicht so wirklich.
  Mit Zitat antworten Zitat
Noedel

Registriert seit: 7. Aug 2008
204 Beiträge
 
Delphi 7 Professional
 
#15

Re: Anfängerhilfe Labyrinth

  Alt 20. Nov 2008, 15:32
noch zwei fragen:

1) warum zeichnest du die barrikaden immer wieder bei jedem knopfdruck?
2) Ich werde aus dem obigen Code nicht schlau, wie die zweite Kugel bewegt werden soll!?
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#16

Re: Anfängerhilfe Labyrinth

  Alt 20. Nov 2008, 15:32
Du kannst dir ja mal mein PingPong Sample anschaun, da habe ich diese BMP Technik benutzt.

Evtl wirds dann verständlicher .
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
skaot

Registriert seit: 18. Nov 2008
8 Beiträge
 
#17

Re: Anfängerhilfe Labyrinth

  Alt 20. Nov 2008, 18:38
Zitat von Noedel:
noch zwei fragen:

1) warum zeichnest du die barrikaden immer wieder bei jedem knopfdruck?
2) Ich werde aus dem obigen Code nicht schlau, wie die zweite Kugel bewegt werden soll!?
1) Habs bestimmt zu kompliziert gemacht aber bei jedem Knopdruck wird erst einmal das gesamte bild gelöscht, damit das die alte position der Kugel gelöscht wird. Dann rstelle ich alles neu mit der neuen Position der Kugel.
2) Indem man mit der 1. dagegen "läuft".( Am Anfang 1mal J drücken hatte ich vergessen mit rein zuschreiben)
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#18

Re: Anfängerhilfe Labyrinth

  Alt 21. Nov 2008, 06:25
Zitat von skaot:
Ich glaube ich lass das mit Bitmap erstmal weg versteh das nicht so wirklich.
Der Sinn des Ganzen sollte klar sein. So wie du es machst, löscht du die Zeichenfläche (Canvas) und zeichnest sie neu und zwar zeichnest du auf der sichtbaren Zeichenfläche (Canvas des Formular). Das führt dann zum Flackern.

Die Lösung ist es zunächst einmal auf einem anderen, nicht sichtbaren, Canvas zu zeichnen und dies dann mittels einer schnellen Methode auf das sichtbare Canvas zu legen.

Also erzeugst du ein Bitmap, das dir ein Canvas bereitstellt, auf dem du zeichnen kannst. Sobald du damit fertig bist, zeigst du dein frisch (unsichtbar) gezeichnetes Canvas an.

Soweit klar?

Das Erzeugen, Zuweisen und Entfernen von Objekten sind Grundlagen, die du völlig unabhängig von deiner Lösung unbedingt verstehen solltest. Ich verweise, wie so oft, auf diesen sehr guten Delphi Crashkurs.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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