Ewiges Level/Scrollen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

count-doku

Betreff: Ewiges Level/Scrollen

BeitragMi, März 03, 2010 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

für mein Spiel DoodleJumpPC muss das Bild natürlich unendlich weit runter scrollen,
dafür sollen am Anfang die Blöcke auf dem Bildschirm berechnet werden und wenn das Bild scrollt
sollen oben über den Fensterrand neue entstehen, sodass es für den Benutzer aussieht als wären diese schon da. Das mit dem vorberechnen klappt auch gut, die ersten sind da und werden auch gelöscht wenn sie unten aus dem Bildschirm rausgehen. Nur wie kann ich jetzt live oben neue erzeugen?

Meine CreateBlock Funktion:
BlitzBasic: [AUSKLAPPEN]
Function CreateBlock.TBlock(typ,ylb,yrb);Blocktyp,Anfangshöhe zum genrieren und max. Höhe
Block.TBlock=New TBlock
Block\img=CopyImage(sprites(typ))
Block\typ=typ
Select lastBlock[2];Je nach Blocktyp mögliche Pos errechenen.
Case 0
Block\x=Rand(10,width-10)
Block\y=Rand(lastBlock[1]-15,lastBlock[1]-50)
Case 2
Block\x=Rand(10,width-10)
Block\y=Rand(lastBlock[1]-15,lastBlock[1]-50)
Case 3
Block\x=Rand(10,width-10)
Block\y=Rand(lastBlock[1]-30,lastBlock[1]-80)
Case 4
Block\x=Rand(10,width-10)
Block\y=Rand(lastBlock[1]-20,lastBlock[1]-70)
End Select
If Block\typ<>1;Alten Block in lastBlock schreiben
lastBlock[0]=Block\x:lastBlock[1]=Block\y
lastBlock[2]=Block\typ
ElseIf Block\typ=1;Keine Blocküberschneidung bei typ 1
Repeat
Block\y=Rand(ylb,yrb)
Block\x=Rand(10,width-10)
Until Abs(Block\y-lastBlock[1])>20 And Abs(Block\x-lastBlock[0])>10
End If
If Block\y>lowestBlock[1] And Block\typ<>1;Ist für Spielerstartpos.
lowestBlock[0]=Block\x
lowestBlock[1]=Block\y
End If
Block_anz=Block_anz+1
End Function
;Aufgerufen wird diese am Anfang durch:
Repeat ;Füllt das ganze Fenster
CreateBlock(0,600,0)
Until Block\y<0



mfg,
count-doku

BigPingu

BeitragMi, März 03, 2010 19:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde es so versuchen das sobald der Spieler eine gewisse Höhe erreicht hat, ein neues angelegt wird.
Sprich du überprüfst die Y Position des spielers und lässt dann zB alle 100pixel die sie zurücklegt 1-2 neue blöcke erstellen. Natürlich muss dann y des Blockes dann im minus liegen BBereich erstellt werden.

Oder du läst jedesmal wenn ein alter Block gelöscht wird oben einen neuen einfügen.
Meine Projekte:
Blockhead : 80%
VideoGameTycoon : 40%

count-doku

BeitragMi, März 03, 2010 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey, danke Smile
Hat das Problem super behoben.
Habe jetzt die 2. Lösung verwendet.



mfg,
count-doku

Badudel

BeitragSa, März 06, 2010 15:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann kannst du aber später schwieriger den Schwierigkeitsgrad verändern. Schließlich sollen doch am Anfang mehr Blöcke sein als später, oder?

Gruß
Wir werden dem Schwein schon schlachten, auch wenn ihm quiekt.
Zum Teufel mit das Grammatik!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group