Parallax scrollerin kartan generointi

Voit pyytää apua ohjelmointiongelmiin täältä.
Post Reply
Nassi_Setä
Advanced Member
Posts: 281
Joined: Sat Jun 28, 2008 5:19 pm
Location: Hämeessä miä

Parallax scrollerin kartan generointi

Post by Nassi_Setä »

Kuten otsikko jo sanoo ongelmana on Parallax scroller - tyyppiseen peliin tuleva kartan satunnais generointi.
Olen saanut jotakin kökköä aikaiseksi, joten sitä pitäisi parannella.Tahtoisin maastosta sulavaa, mutten liian raskasta jotta muille jutuillekkin jää tehoja.
eli tässä on itse tekemä karkeahko koodini ja kuva:
Image

Code: Select all

    If maastoreload<=0 Then
    
        luku+1

        Select Area  'eri tyyppiset maastot 
        
            
            Case 1  'normaali, ylhäällä ei mitään
            
                maasto.KENTTÄ = New(KENTTÄ)

                maasto\w = 10'Rand(30,220)
                If luku=1 Then 
                    maasto\h=50
                Else
                    maasto\h = Rand(40,220)
                EndIf
                
                If luku>1
                
                    maasto2.KENTTÄ = Before(maasto.KENTTÄ)
                    
                    If maasto\h < maasto2\h-3 Then 
                        maasto\h = Rand(maasto2\h-3,maasto2\h+3)
                    ElseIf maasto\h > maasto2\h+3 Then
                        maasto\h = Rand(maasto2\h-3,maasto2\h+3)
                    EndIf 
                    
                    If maasto\h > 220 Then maasto\h = 220 'estetään korkeuden liikakorkeus
                    If maasto\h < 40 Then maasto\h = 40   'ja mataluus
    
                   ' Delete maasto2
                EndIf        
                
                maasto\img = MakeImage(maasto\w,maasto\h)
                maasto\x = 900
                maasto\y = ScreenHeight()-maasto\h
                
                DrawToImage maasto\img
                    
                    DrawImage maasto1,0,0  'piirretään tyhjään maastoon kuva
                    
                DrawToScreen 
                
                maastoreload=10'maasto\w*0.75
     
        EndSelect
    
    EndIf 
                 
    If maastoreload>0 Then maastoreload=maastoreload-1
tuon korkeuden maksimi vaihtelun edelliseen nähden voisi laskea 1:seen,
mutta onko parempia ehdotuksia tai tapoja tehdä tälläinen tsydeemi?

offtöpic:joku voi tunnistaa kuvassa olevan aluksen yhdestä jäätyneestä projustani...
EDIT:

eli jos laittaa sen maksimi vaihtelun 1:seksi niin näyttää tältä:

Image
ei näytä niin kököltä mutta ei ole kovin paljoa pinnan muotoja joita haluaisin myös,ettei olisi koko aikaa tasaista.[/edit]
\../(-_-)\../ <---klick MyBrute Image
Jotain evilii on tekeillä....
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Parallax scrollerin kartan generointi

Post by esa94 »

Nassi_Setä wrote: mutta onko parempia ehdotuksia tai tapoja tehdä tälläinen tsydeemi?
Itselleni ei heti tule implementaatiokeinoa mieleen, mutta etkö voisi laskea ensin karkeasti notkelmat ja kummut ja sitten näiden pisteiden välille viivat, joihin on lisätty randomiteettia maksimissaan +-1 edelliseen pisteeseen nähden?
hybrid
Newcomer
Posts: 18
Joined: Sun Apr 18, 2010 5:24 pm

Re: Parallax scrollerin kartan generointi

Post by hybrid »

Vinkkinä sini ja cosini, randomia mukaan mutta hitaasti ja pehmeästi, ei sahalaitana.
Post Reply