Datakerros - miten voi poimia tietyt tilet?

Voit pyytää apua ohjelmointiongelmiin täältä.
Post Reply
cbaloittelija
Newcomer
Posts: 30
Joined: Sat Feb 06, 2010 8:20 pm

Datakerros - miten voi poimia tietyt tilet?

Post by cbaloittelija »

Tuli pikku ongelma. Pitäisi saada ukkoja kävelemään autotien penkoilla suurella kartalla. onko keinoa, että ukot voitaisiin sijoittaa kävelykadulle kartan datakerroksesta löytyvien tietojen perusteella oli sitten missä päin karttaa tahansa?
sillä tavalla että ukot ilmestyisivät aina vain tiettyjen tilien (tile) päälle.
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Datakerros - miten voi poimia tietyt tilet?

Post by Awaclus »

Ei valitettavasti onnistu kuin käymällä jokainen tile erikseen läpi, tätä varten on joku tehnyt funktionkin, joka pitäisi haulla löytyä (tai käymällä kaikki minun viestini läpi, olen sitä nimittäin joskus itsekin ihmetellyt).
cbaloittelija
Newcomer
Posts: 30
Joined: Sat Feb 06, 2010 8:20 pm

Re: Datakerros - miten voi poimia tietyt tilet?

Post by cbaloittelija »

eipä löydy hakemalla enkä jaksa yli 1100 viestiä lukea!
Wingman
Devoted Member
Posts: 594
Joined: Tue Sep 30, 2008 4:30 pm
Location: Ruudun toisella puolella

Re: Datakerros - miten voi poimia tietyt tilet?

Post by Wingman »

cbaloittelija wrote:eipä löydy hakemalla enkä jaksa yli 1100 viestiä lukea!
rajaa hakuasi, hae monilla hakusanoilla ja eri alueilta.
Ja eikös ollut niin, että cb.ssä itsessäänkin on funktio datakerroksen läpikäynnille, tai siitä numeron etsimiselle?
- - - -
jesperx96
Active Member
Posts: 190
Joined: Sun Nov 23, 2008 9:35 am
Location: Lappajärvi

Re: Datakerros - miten voi poimia tietyt tilet?

Post by jesperx96 »

Code: Select all

For x=1 To MapWidth()
For y=1 To MapHeight()
If GetMap2(3,x,y)=se haluamasi datakerroksen numero Then kävelijä ilmestyy *plop*
Next x
Next y
En tiedä toimiiko, en kokeillut.
We see the lines in chalk
The warning signs in where we walk
In the shadows of the cities maze
To try and fight for better days
cbaloittelija
Newcomer
Posts: 30
Joined: Sat Feb 06, 2010 8:20 pm

Re: Datakerros - miten voi poimia tietyt tilet?

Post by cbaloittelija »

jesperx96 wrote:

Code: Select all

For x=1 To MapWidth()
For y=1 To MapHeight()
If GetMap2(3,x,y)=se haluamasi datakerroksen numero Then kävelijä ilmestyy *plop*
Next x
Next y
En tiedä toimiiko, en kokeillut.
paska yritys! mistä ohjelma muka automaattisesti tietää mihin koordinaatteihin ukot laitetaa?
Wingman
Devoted Member
Posts: 594
Joined: Tue Sep 30, 2008 4:30 pm
Location: Ruudun toisella puolella

Re: Datakerros - miten voi poimia tietyt tilet?

Post by Wingman »

cbaloittelija wrote:
jesperx96 wrote:

Code: Select all

For x=1 To MapWidth()
For y=1 To MapHeight()
If GetMap2(3,x,y)=se haluamasi datakerroksen numero Then kävelijä ilmestyy *plop*
Next x
Next y
En tiedä toimiiko, en kokeillut.
paska yritys! mistä ohjelma muka automaattisesti tietää mihin koordinaatteihin ukot laitetaa?
ymmärsit väärin, sillä tuohon Kävelijä ilmestyy*plop* kohtaan tulee koodi ukon tekoon
- - - -
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: Datakerros - miten voi poimia tietyt tilet?

Post by temu92 »

cbaloittelija wrote:paska yritys! mistä ohjelma muka automaattisesti tietää mihin koordinaatteihin ukot laitetaa?
Miks kysyä apua jos sitä arvostaa noin paljon?
jesperx96
Active Member
Posts: 190
Joined: Sun Nov 23, 2008 9:35 am
Location: Lappajärvi

Re: Datakerros - miten voi poimia tietyt tilet?

Post by jesperx96 »

temu92 wrote:
cbaloittelija wrote:paska yritys! mistä ohjelma muka automaattisesti tietää mihin koordinaatteihin ukot laitetaa?
Miks kysyä apua jos sitä arvostaa noin paljon?
Niinpä, keksi sit itte jos ei jaksa tuon vertaa itse ajatella...
Siis: laitat karttasi datakerrokseen kohtiin, joihin haluat ukkoja, jonkun tietyn numeron.
Sitten laitat "se haluamasi datakerroksen numero"- kohtaan sen saman numeron.
Sitten laitat itse kävelijän luonnin "kävelijä ilmestyy *plop*"- kohtaan.
Simple?
We see the lines in chalk
The warning signs in where we walk
In the shadows of the cities maze
To try and fight for better days
cbaloittelija
Newcomer
Posts: 30
Joined: Sat Feb 06, 2010 8:20 pm

Re: Datakerros - miten voi poimia tietyt tilet?

Post by cbaloittelija »

ja mitenkäs itse koordinaatit saa kävelijälle? jos vaan laittaa
uk.ukko = new (ukko)
niin sehän ei vielä asenna ukkoa oikealle paikalle...
kokeile vaikka itse (jos toimii, pistäppä koodi tänne, kiitos:D)
regalis
Advanced Member
Posts: 268
Joined: Mon Aug 27, 2007 9:44 pm

Re: Datakerros - miten voi poimia tietyt tilet?

Post by regalis »

Jos tuo ukko on objekti, käytä PositionObjectia, muussa tapauksessa esimerkiksi näin:

uk\x = [haluttu x-koordinaatti]
uk\y = [haluttu y-koordinaatti]

EDIT: CBKK:sta löytyi tähän tarkoitukseen sopiva funktio.
Wingman
Devoted Member
Posts: 594
Joined: Tue Sep 30, 2008 4:30 pm
Location: Ruudun toisella puolella

Re: Datakerros - miten voi poimia tietyt tilet?

Post by Wingman »

regalis wrote: EDIT: CBKK:sta löytyi tähän tarkoitukseen sopiva funktio.
eikös tuo pistä objektin aina back-tasoon, vai olenko ymmärtänyt väärin?
- - - -
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: Datakerros - miten voi poimia tietyt tilet?

Post by temu92 »

Objekteja ei voi pistää mihinkään back tasoihin. Tilemapit toimivat niin että back-taso on aina objektien alla ja over taso nimensä mukaan päällä.
Wingman
Devoted Member
Posts: 594
Joined: Tue Sep 30, 2008 4:30 pm
Location: Ruudun toisella puolella

Re: Datakerros - miten voi poimia tietyt tilet?

Post by Wingman »

temu92 wrote:Objekteja ei voi pistää mihinkään back tasoihin. Tilemapit toimivat niin että back-taso on aina objektien alla ja over taso nimensä mukaan päällä.
no siihen väliin? tuossa väitetään että objekti laitetaan samaan kerrokseen mistä etsitään. eli jos etsitään datakerroksesta, objekti menisi datakerrokseen :?
- - - -
jesperx96
Active Member
Posts: 190
Joined: Sun Nov 23, 2008 9:35 am
Location: Lappajärvi

Re: Datakerros - miten voi poimia tietyt tilet?

Post by jesperx96 »

Mutta ei niin voi käydä :)
Objektit törmäävät hit-kerroksen kanssa jos törmäykset on asetettu, joten siihen ne menevät. Aina.
We see the lines in chalk
The warning signs in where we walk
In the shadows of the cities maze
To try and fight for better days
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Datakerros - miten voi poimia tietyt tilet?

Post by Jonez »

Ellu wrote:
temu92 wrote:Objekteja ei voi pistää mihinkään back tasoihin. Tilemapit toimivat niin että back-taso on aina objektien alla ja over taso nimensä mukaan päällä.
no siihen väliin? tuossa väitetään että objekti laitetaan samaan kerrokseen mistä etsitään. eli jos etsitään datakerroksesta, objekti menisi datakerrokseen :?
jesperx96 wrote:Mutta ei niin voi käydä
Objektit törmäävät hit-kerroksen kanssa jos törmäykset on asetettu, joten siihen ne menevät. Aina.
Ei ole mitään paikkaa mihin objekti tai kuva tai mappi tai mikään muukaan menee, ellei sitten puhuta muistista koneen sisällä. Objekti on kuva jolla on tiettyjä ominaisuuksia, kuten kulma ja koordinaatit, ja sille on mm. mahdollista asettaa cb:n sisäänrakennettu törmäystunnistus.

Objekteilla kuten kuvilla on piirtojärjestyksensä. Objektit piirretään siinä järjestyksessä missä ne on ladattu, ellei järjestystä muuta komennolla ObjectOrder. Objektin voi piirtää kartan (joka myös on eräänlainen objekti) alle, tai päälle, lukuunottamatta over-kerrosta joka tosiaan piirretään aina päällimmäiseksi. Näin ollen objektit yleensä piirretään ennen over-kerrosta, mutta vasta back-kerroksen jälkeen. Objekti ei "ole" missään näistä kerroksista. Sillä voi korkeintaan olla samat koordinaatit kuin jollain näissä kerroksissa sijaitsevalla yksittäisellä tilellä.

Objekit törmäävät hit-kerrokseen jos näin on asetettu. Se johtuu siitä että cb tunnistaa objektin ja ko. hit-tilen koordinaatit sekä koot, ja osaa toimia tilanteen vaatimalla tavalla. Edelleenkään objekti ei mitenkään "ole" siellä hit-kerroksessa. Kyseessä on vain läjä dataa.

Edit. ja objektit "menevät datakerrokseen" niin, että tietyillä funktioilla saadaan tietyn data-tilen koordinaatit kaivettua ja muutettua maailmakoordinaateiksi, ja toisilla hienoilla funktioilla saadaan tämä kuva jota kutsumme objektiksi piirrettyä kyseisiin koordinaatteihin.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
Post Reply