Dumme Frage

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Lirumla..

Betreff: Dumme Frage

BeitragMo, März 29, 2004 18:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich bin blutiger Anfänger und arbeite mich gerade durch einige Tuts Wink

Hier ist der Code
Zitat:
Graphics 640, 480, 32, 3
Global x
Global y
SetBuffer BackBuffer()

Repeat
Raumschiff = LoadImage ("schiff.bmp")
DrawImage Raumschiff, x,y
If KeyDown (208) Then y = Y +5
If KeyDown (200) Then y = y -5
If KeyDown (203) Then x = x -5
If KeyDown (205) Then x = x +5
If x = 640 Then x = 640
If x < 0 Then x = 0
If Y > 480 Then Y = 480
If y < 0 Then Y = 0

Flip
Cls

Forever


Joa ich weiß, total viel... Smile Das Bild soll an den Rändern des Bildes stoppen.... Es fliegt aber nach unten und nach Rechts trotzdem noch ein bisschen weiter.... Woran liegt das? Ich hab auch mal die Position auslesen lassen. Die Grafik stoppt bei 640 und 480... Also scheint ein Teil des Bildschirms nicht angezeigt zu werden? Wieso? Crying or Very sad

Holzchopf

Meisterpacker

BeitragMo, März 29, 2004 18:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst bei den Prüfungen
Code: [AUSKLAPPEN]

If x = 640 Then x = 640 
If Y > 480 Then Y = 480

die Breite und höhe des Bildes auch noch berücksichtigen.
Ein Bild wird normalerweise vom angegebenen Punkt aus nach Rechts/Unten gezeichnet, die Angegebenen Koordinaten sind also sozusagen der Nullpunkt des Bildes...
Und wenn du jetzt denkst, dass da doch noch ein Streifen sichtbar sein sollte, liegst du relativ richtig, ABER: Bei einer Auflösung von 640x480 geht der Bereich von 0-639 resp. von 0-479.

Ich hoffe, das war jetzt nicht zuviel. Very Happy
MfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

General Alex

BeitragMo, März 29, 2004 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Graphics 640, 480, 32, 3
Global x, y, Raumschiff_Breite, Raumschiff_Hoehe ; Alles auf einer Zeile
SetBuffer BackBuffer()
Raumschiff = LoadImage ("schiff.bmp") ; Ausserhalb der Schleife
Raumschiff_Breite = ImageWidth (Raumschiff) ; Ermittelt Breite des Bildes
Raumschiff_Hoehe = ImageHeight (Raumschiff) ; Ermittelt Höhe des Bildes
Repeat
Cls ; Am Anfang der Schleife
DrawImage Raumschiff, x,y
If KeyDown (208) Then y = y + 5
If KeyDown (200) Then y = y - 5
If KeyDown (203) Then x = x - 5
If KeyDown (205) Then x = x + 5
If x >= (640 - Raumschiff_Breite) Then x = 640 - Raumschiff_Breite
If x <= 0 Then x = 0
If y >= (480 - Raumschiff_Hoehe) Then y = 480 - Raumschiff_Hoehe
If y <= 0 Then y = 0
Flip
Until KeyHit (1) ; Bei [ESC] beenden

End


Das müsste funktionieren. ";" sind Kommentare (das müsstest du wissen).

Edit: Benenne den Thread nächstes Mal bitte sinnvoller ... wenn du lange im Forum bist, wirst du schon noch merken, was wirklich dumme Fragen sind!
  • Zuletzt bearbeitet von General Alex am Mo, März 29, 2004 19:02, insgesamt einmal bearbeitet
 

Lirumla..

BeitragMo, März 29, 2004 19:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Joa doch, habs verstanden.... nu muß ich mal gucken wie breit und hoch das bild is und die werte dann abziehen 8) Ist eigentlich relativ einleuchtend Razz
 

Lirumla..

BeitragMo, März 29, 2004 19:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Alex habs so gemacht wie du es geschrieben hast.
Ich haette jetzt einfach das Bild vermessen und dann die Werte entsprechend verändert Wink
Naja, ich kenn mich mit BlitzBasic kein bisschen aus und weiß daher nicht wo das Problem lag... sonst haette ich den Thread sicher anders benannt Rolling Eyes

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group