Beweglicher hintergrund

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

eziX

Betreff: Beweglicher hintergrund

BeitragMi, Sep 07, 2005 12:45
Antworten mit Zitat
Benutzer-Profile anzeigen
ich wollt so ne art billiges jumpn run machen und ich hab den hintergrund selber gepixelt per paint 8) . Nun, das Bild ist 3000x480 Pixel groß, nun wollte ich scrollen, also dass die figur wenn sie sich nach rechts bewegt auch das hintergrundbild nach rechts bewegt. Nur wenn ich das mache ,sehe ich am anfang zwar das bild dichtig, aber wenn ich scrolle ist das bild dann nurnoch schwarz.

PS: Nein, ich will nicht mit einer tileengine arbeiten
 

Mr Hopp

BeitragMi, Sep 07, 2005 12:58
Antworten mit Zitat
Benutzer-Profile anzeigen
DrawBlock Hintergrund, x, y

eziX

BeitragMi, Sep 07, 2005 13:19
Antworten mit Zitat
Benutzer-Profile anzeigen
geht immer noch nicht
 

Mr Hopp

BeitragMi, Sep 07, 2005 13:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann gib mal den Code

eziX

BeitragMi, Sep 07, 2005 13:54
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
Graphics 640,480,0,1
SetBuffer BackBuffer()



hg = LoadImage(\"hintergrund.png\")
kiste = LoadImage(\"kiste.png\")


x = 100
y = 375

Zeit=CreateTimer(20)
Const BildZahl=5
Const BildZahl2=5

spieler = LoadAnimImage(\"terror.png\",30,58,0,BildZahl)
spieler2 = LoadAnimImage(\"terror2.png\",30,58,0,BildZahl2)



Oben = 200
Unten = 208
Links = 203
Rechts = 205

hx = 0
hy = 0


MaskImage spieler,255,0,255
MaskImage spieler2,255,0,255



;;;;;;;;;;;;;;;;;;;;;;;;;; HAUPTSCHLEIFE ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Repeat
Cls

DrawImage kiste,366,380
DrawBlock hg,hx,hy



;DrawImage spieler,x,y



If KeyDown(rechts) Then
BildNr2=BildNr2+1

If BildNr2 = 5 Then BildNr2 = 0

DrawImage spieler2,x,y,BildNr2
x = x + 3
EndIf


If KeyDown(links) Then

BildNr=BildNr+1

If BildNr = 5 Then BildNr = 0

DrawImage spieler,x,y,BildNr
x = x - 3
EndIf




If jump=0 And KeyDown(57) Then jump=1

If jump=1 Then y=y-3

If jump=2 Then y=y+3

If y<=320 Then jump=2

If jump=2 And y=375 Then jump=0


If x = 200 Then hx = hx+3


;If ImagesCollide(spieler,x,y,0,kiste,366,380,0) Then
;x = 340
;EndIf



If KeyDown(1) Then End

Flip
WaitTimer Zeit
Forever



Function ende()
FlushKeys
Cls
End1$ = Input(\"Möchten Sie das Spiel wirklich beenden?: \")
If End1$ = \"ja\" Then End

End Function
 

Mr Hopp

BeitragMi, Sep 07, 2005 14:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, wenn dein Spieler weiter als 200 Pixel vom Spielfeldrand entfernt ist, bewegt sich dein Hintergrund um nur 3 Pixel? Habe ich mich da verguckt oder habe ich recht?
 

MegaTefyt

BeitragMi, Sep 07, 2005 14:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Rolling Eyes

Hau die HX-Addition in die Rechts-Steuerung mit rein mit der Bedingung x > 200. Macht den Code zwar auch nicht besser, aber dürfte dein Problem beheben.

Achja und solange der HX bewegt sollte sich der Spieler nicht bewegen, sprich X auf 200 festsetzen solange HX nicht das Maximum erreicht usw.

eziX

BeitragMi, Sep 07, 2005 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
jetzt geht es mit dem scrollen, aber wenn er scrollt ist das bild dann schwarz was kommt, obwohl da was sein müsste!

eziX

BeitragMi, Sep 07, 2005 14:29
Antworten mit Zitat
Benutzer-Profile anzeigen
es geht!!!


Ich hab vergessen das richtige Bild zu laden Embarassed
 

Ava

Gast

BeitragMi, Sep 07, 2005 14:30
Antworten mit Zitat
Vielleicht liegt das an Deiner bombastischen Bitmap?
Ich weis nicht, ob Blitz irgendwann Probleme mit solchen Ausmaßen
bekommt, ich habe selbst noch nie so riesige Grafiken eingebunden!


[/edit]

lol Wink
 

MegaTefyt

BeitragMi, Sep 07, 2005 14:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Folgendes nochmal zusammen:

1.) Musst du ja HX - 3 nehmen, damit der Hintergrund auch nach rechts geht und nicht in die falsche Richtung und somit direkt schwarz wird. Sprich in die Bedingung für RECHTS reinhaun

if x > 202 Then hx = hx - 3 : x = 202

202 deswegen, weil du ja von 100 an in 3er Schritten gehst.

2.) Zu dieser Bedingung solltest du ein linkes und evt. rechtes Maximum festlegen, bei dem hx nicht mehr mitscrollt und der Spieler an eine Wand stößt.

3.) Dadurch dass du nur den Spieler malst, wenn eine Bewegungstaste gedrückt hält, siehst du ihn auch nur in der Bewegung, sobald du stehst sieht man ihn durch das CLS nicht mehr. Edit: das führt auch dazu, dass wenn man Links und Rechts gleichzeitig drückt man zwei Bilder auf einmal sieht usw.

Sind so ein paar Sachen, die mir aufgefallen sind...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group