Was ist an diesem Code falsch...

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Bart

Betreff: Was ist an diesem Code falsch...

BeitragMo, Okt 04, 2004 17:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute,
ich hätte mal eine Frage:
Ich will, dass ein Raumschiff vor einem Hintergrund langfliegt, ich habe jetzt probiert das mal zu programmieren, aber irgendwie Zieht das Raumschiff, das über den Hintergrund fliegt, eine Lange schliere und das Bild flackert. Hier mal der Code, wäre cool wenn ihr ihn korrigieren könntet, noch besser wenns dazu dann noch ne Erklärung gebe.

Der Code:

Global Grafik
Graphics 640, 480, 16, 1
Grafik = LoadImage ("world.bmp")
DrawBlock Grafik, 0, 0
Global Grafik2
Grafik2 = LoadImage ("flieger2.bmp")
For x = 1 To 400
DrawImage Grafik2, x, 100
Flip
Next
Delay 2500

Verwendete Bilder:

"world.bmp" - Ein Bild mit einer Auflösung von 640*480, also Bildschirmfüllend

"flieger2.bmb" - hat 150*70 Pixel und als Hintergrund Schwarz (meine Maskfarbe ist auch Schwarz, weil ich nich weiss wie man die ändert)


danke!!!!


PS: Suche auch jemanden der mir per ICQ/E-Mail zur Seite stehen würde um fragen etc zu beantworten (also eine Art Tutor für mich), wer lust hat einfach hier mit reinschreiben oder per PN
  • Zuletzt bearbeitet von Bart am Mo, Okt 04, 2004 17:40, insgesamt einmal bearbeitet
 

David

BeitragMo, Okt 04, 2004 17:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Du musst Doublebuffer verwenden und natürlich den Backbuffer nach dem Flippen löschen (Cls).

grüße
http://bl4ckd0g.funpic.de
 

Bart

BeitragMo, Okt 04, 2004 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie benutze ich denn "Doublebuffer" ? Könntest du den Code viellecht mal entsprechend verändern? Hab jetzt einfach mal ein cls hinter das "flip" gesetzt, jetzt sind zwar die schlieren weg aber der Hintergrund ("world.bmp") auch...

Aktueller Code:

Global Grafik
Graphics 640, 480, 16, 1
Grafik = LoadImage ("world.bmp")
DrawBlock Grafik, 0, 0
Global Grafik2
Grafik2 = LoadImage ("flieger2.bmp")
For x = 1 To 400
DrawImage Grafik2, x, 100
Flip
Cls
Next
Delay 2500

Clonker

BeitragMo, Okt 04, 2004 17:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Graphics 640, 480, 16, 1

Grafik = LoadImage ("world.bmp")
Grafik2 = LoadImage ("flieger2.bmp")

SetBuffer Backbuffer()

Repeat
  cls
  DrawBlock Grafik, 0, 0
  DrawImage Grafik2, x, 100
  If timer + 20 < Millisecs() Then x = x + 1 : timer = Millisecs()
  Flip
Until KeyHit(1)


Ich glaub so hast du das mit dem Raumschiff bewegen gemeint oder?
Die exzessive Akkumulation von Fremdwörtern suggeriert pseudointellektuelle Kompetenz.

Athlon XP 2800|Radeon 9600 Pro|512MB DDR RAM|240GB Festplatte

Hubsi

BeitragMo, Okt 04, 2004 17:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Global Grafik
Graphics 640, 480, 16, 1

Setbuffer BackBuffer()

Grafik = LoadImage ("world.bmp")
Global Grafik2
Grafik2 = LoadImage ("flieger2.bmp")
For x = 1 To 400
drawblock grafik,0,0
DrawImage Grafik2, x, 100
Flip
Cls
Next
Delay 2500
Tjo, zu lahm Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Bart

BeitragMo, Okt 04, 2004 18:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau so hab ichs gemeint, danke Hubsi. Natürlich auch danke an Clonker, besonders für das Hilfeangebot!!!

Global Grafik
Graphics 640, 480, 16, 1

Setbuffer BackBuffer()

Grafik = LoadImage ("world.bmp")
Global Grafik2
Grafik2 = LoadImage ("flieger2.bmp")
For x = 1 To 400
drawblock grafik,0,0
DrawImage Grafik2, x, 100
Flip
Cls
Next
Delay 2500

Lag das bei mir jetzt nur an der falschen aufteilungen der CodeZeilen?

Hubsi

BeitragMo, Okt 04, 2004 18:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau Dir Doublebuffering in der Onlinehilfe an. Da ist das wunderbar erklärt. Dann wird Dir auch Dein Fehler sofort klar. Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

D2006

Administrator

BeitragMo, Okt 04, 2004 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
nebenbei:

@Bart:
bitte benutz Code-Tags.
Klick dazu auf den Button "Code" (5er von recht, unterhalb der Titeleingabe).
Jetzt kannst du deinen Code eingeben und zum Schluß den Tag noch schließen (nochmal auf den Button drücken)

MfG
 

storzi

BeitragMo, Okt 04, 2004 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Global Grafik
Graphics 640, 480, 16, 1
setbuffer backbuffer() ;  <------
Grafik = LoadImage ("world.bmp")
Global Grafik2
Grafik2 = LoadImage ("flieger2.bmp")
For x = 1 To 400
DrawBlock Grafik, 0, 0 ; <-------
DrawImage Grafik2, x, 100
Flip
Next
Delay 2500
http://www.splattergamez.de

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group