Extremer Grafikfehler+Bei Hintergrundbewegung Spieler weg
Übersicht BlitzBasic Beginners-Corner
Nichts95Betreff: Extremer Grafikfehler+Bei Hintergrundbewegung Spieler weg |
Fr, Jun 01, 2007 18:34 Antworten mit Zitat |
|
---|---|---|
Hallo, seit einiger Zeit Arbeite ich an einem 2D-SPiel. Heute wollte ich eigentlich die erste Landschaft anfertigen allerdings wird beim Bewegen durch die Landschaft die Spielfigur ausgeblendet... Und als dass noch nicht genug wäre bekomme ich nach dem Drücken einer Steuertaste lauter schwarzer Streifen auf dem Bildschirm Der Code ist in zwei Dateien gepeichert, da ich natürlich mehrereLandschaften machen will wenn ich dieses Problem gelöst habe^^
Also, hier das Hauptprogramm: Code: [AUSKLAPPEN] ... Function zeichnen() If oldx# <> x# Or oldy# <> y# Then ;Nur erneuern wenn Alte Position anders als derzeitige ist um flackern vorzubeugen Cls DrawImage spielergrafik, x#,y# ;If KeyDown(205) winkel = winkel + 1 ;If KeyDown(203) winkel = winkel + 359 winkel = winkel Mod 360 RotateImage spieler(winkel), winkel Flip ;DrawImage spieler(winkel), x#,y# EndIf oldx# = x# oldy# = y# End Function Function steuerung() ;Steuerung - erklärt sich ja von selbst ;-) If KeyDown(200) Then Cls y# = y# - geschwindigkeit ;yst = yst - geschwindigkeit EndIf If KeyDown(208) Then Cls y# = y# + geschwindigkeit ;yst = yst + geschwindigkeit EndIf If KeyDown(203) Then Cls x# = x# - geschwindigkeit ;xst = xst - geschwindigkeit EndIf If KeyDown(205) Then Cls x# = x# + geschwindigkeit ;xst = xst + geschwindigkeit EndIf Include "maps/industry.bb" End Function Und hier der Code von der Map "Industry": Code: [AUSKLAPPEN] ;Industrielandschaft boden = LoadImage ("grafiken\hintergrund_industry.bmp") mauer1 = LoadImage ("grafiken\mauer1.bmp") Repeat ;Nur für Verändern der Map If oldxst <> xst Or oldyst <> yst Then ;Boden TileBlock boden, xst, yst ;Ende von Boden ;Lange Mauer - senkrecht DrawImage mauer1, xst + 800, yst +260 DrawImage mauer1, xst + 800, yst +280 DrawImage mauer1, xst + 800, yst +300 DrawImage mauer1, xst + 800, yst +320 DrawImage mauer1, xst + 800, yst +340 DrawImage mauer1, xst + 800, yst +360 ;Ende von langer Mauer oldxst = xst oldyst = yst DrawImage spieler(winkel),x#,y# EndIf If KeyDown(200) Then Cls yst = yst - geschwindigkeit DrawImage spieler(winkel),x#,y# EndIf If KeyDown(208) Then Cls yst = yst + geschwindigkeit DrawImage spieler(winkel),x#,y# EndIf If KeyDown(203) Then Cls xst = xst - geschwindigkeit DrawImage spieler(winkel),x#,y# EndIf If KeyDown(205) Then xst = xst + geschwindigkeit DrawImage spieler(winkel),x#,y# EndIf Until KeyDown(1) |
||
Beatenvoy |
Fr, Jun 01, 2007 19:12 Antworten mit Zitat |
|
---|---|---|
Weil du jeden tastendruck alles löschst
Da ist der Fehler drin : Code: [AUSKLAPPEN] If KeyDown(200) Then
Cls y# = y# - geschwindigkeit ;yst = yst - geschwindigkeit EndIf If KeyDown(208) Then Cls y# = y# + geschwindigkeit ;yst = yst + geschwindigkeit EndIf If KeyDown(203) Then Cls x# = x# - geschwindigkeit ;xst = xst - geschwindigkeit EndIf If KeyDown(205) Then Cls x# = x# + geschwindigkeit ;xst = xst + geschwindigkeit EndIf |
||
Nichts95 |
Sa, Jun 02, 2007 10:39 Antworten mit Zitat |
|
---|---|---|
Hat nichts gebracht als ich die Cls auskommentiert habe... Was mir gerade aufgefallen ist: Wer den (Haupt-)Code am Anfang betrachtet, wird ja sicherlich bemerken dass da eine "Smileyfarbeabfrage" ist, und wenn ich dann die entsprechende Zahl eingegeben habe, taucht er plötzlich auf und dann ist er plötzlich wieder weg... | ||
Rongo Matane |
Mo, Jun 04, 2007 15:30 Antworten mit Zitat |
|
---|---|---|
ähm setbuffer backbuffer() hast du aber drin, oder? sonst könnts flackern ^^
das is generell alles etwas komisch...vllt solltest du dich erstmal an was einfacherem versuchen, sry wenn ich falsch lieg, aber mir scheints zumindest so, dass du noch ein paar Tuts durcharbeiten solltest^^ |
||
Übersicht BlitzBasic Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group