![]() |
Bitmap
Hi bin ein ziemlich unerfahrener Delphi-Programmierer und wollte einmal fragen wie die Bitmaps in Spielen dagestellt werden.
Hab mal gelesen in einem Panel, aba geht das überhaupt bzw. ist es sinnvoll in Delphi? Wie Kann ich eine TBitmap sonst noch dastellen? Danke LG |
Re: Bitmap
Wir wäre es mit TImage. :wink:
|
Re: Bitmap
Ja auf TImage bin ich auch schon gekommen^^
Nur leider hab ich ein Problem damit: Ich habe einen Streifen sternenhimmel am oberen Bildschirm gemacht mit einer breite von 5120 Pixel. Wenn ich rechts drücke verschiebt sich das ganze um 10 pixel nach Links, das heißt ein anderer teil wird sichtbar. Jedoch tauchen im Bild immer wieder weiße streifen auf....wie bekomm ich die weg? Lg |
Re: Bitmap
Delphi-Quellcode:
Sollte eventuell helfen.
Form1.DoubleBuffered:=True;
|
Re: Bitmap
Hallo und Willkommen!
Du könntest es mit DoubleBuffered versuchen, aber ob es bei einer so großen Grafik was bringt? Wenn sich das Image auf einem Panel befindet, setze einfach: Panel1.DoubleBuffered := True; ansonsten das Formular: Form1.DoubleBuffered := True; Gruß roga Ach ich sehe gerade, Blackheart ist mir zuvor gekommen :| |
Re: Bitmap
Zitat:
|
Re: Bitmap
Ich vermute mal, damit er es scrollen kann. ;)
|
Re: Bitmap
Für Spiele ist es ungünstig, mti Komponenten zu arbeiten. Guck dir lieber mal TCanvas und TBitmap an.
Mit TCanvas.Draw(...) kannst du Bitmaps auf eine Zeichenfläche zeichnen. So eine Zeichenfläche bietet z.b. jedes Formular an (TForm.Canvas), aber auch Bitmaps selber haben so eine Zeichenfläche (TBitmap.Canvas). Am besten ist es, du zeichnest nicht direkt auf das Canvas des Fensters, sondern nutzt ein TBitmap im Speicher als Puffer. Du zeichnest also erst auf das Bitmap, und dann klatscht du das auf das Fenster. Das hat den Vorteil, dass es beim Zeichnen nicht flimmert. Dieses Flimmern entsteht nämlich dadurch, dass die Elemente nacheinander gezeichnet werden: Die Verzögerungen nimmt man als Flimmern wahr. Stichworte zum Zeichnen auf TCanvas wären: ![]() ![]() meinetwegen noch ![]() Wenn es noch mehr auf Geschwindigkeit ankommt, empfiehlt sich DirectX oder OpenGL, bzw. Engines, die diese nutzen (wie z.b. ![]() |
Re: Bitmap
So ist es. Hier ein zwei Programierbeispiele die mit "nur Bitmaps" arbeiten:
![]() ![]() |
Re: Bitmap
Danke für die vielen Antworten aber könnte mir bitte jemand das mit den TBitmaps ein wenig genauer erklären?
Und in einem Quelltext steht "uses snd;" Was ist snd? Und ist Delphi kompatibel mit den Modeleditor von 3DGamestudio? Achja und ich kann DoubleBuffered nicht finden...könnte das sein, dass es das bei Turbo Delphi nicht gibt? Und wie bekomme ich eine Bitmap in ein Panel? So viele Fragen^^ LG |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz