Tilekartat ja objektit

Voit pyytää apua ohjelmointiongelmiin täältä.
Post Reply
RaatoX
Member
Posts: 54
Joined: Thu Aug 12, 2010 7:04 pm

Tilekartat ja objektit

Post by RaatoX »

Mikäli tilekartat ovat erittäin laajoja, niin mitä tapaa suosittelette, kun halutaan lisätä ohjelmaan kerättävät objektit ?
Kannattaako ne lisätä tile tarkistuksen kautta vai taulukoilla ?
Vai onko datakerros paras vaihtoehto ?
Haluan lisätä objektit peliin itse määräämilleni paikoille :)

Törmäykset ovat hanskassa, mutta objektin poistot eivät vielä ole auenneet :(
Löytyykö tähän helppoa keinoa ?

Kiitos etukäteen !
SPuntte
Tech Developer
Tech Developer
Posts: 650
Joined: Mon Aug 27, 2007 9:51 pm
Location: Helsinki, Finland
Contact:

Re: Tilekartat ja objektit

Post by SPuntte »

Helpoin tapa lisäillä tilejen päälle CB-objekteja lienee ajaa läpi seuraavanlainen silmukka:

Code: Select all

Type OBJEKTI_TYYPPI
    Field obj
EndType

For y = 1 To MapHeight()
    For x = 1 To MapWidth()
        If GetMap2(3, x, y) = joku_data_arvo Then
            joku.OBJEKTI_TYYPPI = New(OBJEKTI_TYYPPI)
            joku\obj = //Tähän joku sopiva alustus, esim. CloneObject()-funktiokutsu
            PositionObject joku\obj, tile_leveys*(-0.5*MapWidth() + x - 0.5) + ObjectX(kartta), tile_leveys*(-0.5*MapWidth() - y + 0.5) + ObjectY(kartta)
            objekteja_lisatty = objekteja_lisatty + 1
        EndIf
    Next x
Next y
Karttaa tehdessä tulee siis asettaa sopiva data-arvo haluttuihin tileihin. Valtavilla kartoilla tuo silmukan ajo toki kestää jonkin aikaa, mutta se tuskin muodostuu silti pullonkaulaksi.

Objektien poisto menisi vastaavasti tähän tapaan:

Code: Select all

//Pelin pääsilmukka
Repeat
	...
	For o.OBJEKTI_TYYPPI = Each OBJEKTI_TYYPPI
		If ObjectsOverlap(pelaaja, o\obj, kosketus_tapa) Then
			objekteja_keratty = objekteja_keratty + 1
			DeleteObject o\obj
			Delete o
		EndIf
	Next o
	...
Forever
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES

CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
RaatoX
Member
Posts: 54
Joined: Thu Aug 12, 2010 7:04 pm

Re: Tilekartat ja objektit

Post by RaatoX »

Todella ISO KIITOS :D .
Post Reply