Page 1 of 1

Karttaongelma

Posted: Sun Jun 19, 2011 7:32 pm
by Troopperi
Hei. Olen ennenkin kysynyt täällä yhtä asiaa, ja saatatte minut löytääkin vieraana jostain aiheesta, mutta nyt päätin rekisteröityä, jotta voin luoda oman aiheen (Huomattavissa helpommin).

Olen kirjoitellut tasoloikkapeli-harjoitelmaa, joka on lähes kopioitu Coolbasicin tutoriaali 18:sta, mutta omilla grafiikoilla. Ikävä kyllä, kun kokeilen peliä, Tilesterillä tekemäni kartta ei toimi, ja kone valittaa: "Can't load map: [polku]"

Sama ongelma tulee kaikkien, paitsi Tilesterin kansion testmapin kanssa, jopa Coolbasicin Media-kansion testmapilla. Mitään arvailuja? Polkukaan ei ole väärä. Jos sillää tiedolla mitään tekee, käyttöjärjestelmä on Win 7.

Re: Karttaongelma

Posted: Sun Jun 19, 2011 7:55 pm
by Peltsi
Troopperi wrote:Hei. Olen ennenkin kysynyt täällä yhtä asiaa, ja saatatte minut löytääkin vieraana jostain aiheesta, mutta nyt päätin rekisteröityä, jotta voin luoda oman aiheen (Huomattavissa helpommin).

Olen kirjoitellut tasoloikkapeli-harjoitelmaa, joka on lähes kopioitu Coolbasicin tutoriaali 18:sta, mutta omilla grafiikoilla. Ikävä kyllä, kun kokeilen peliä, Tilesterillä tekemäni kartta ei toimi, ja kone valittaa: "Can't load map: [polku]"

Sama ongelma tulee kaikkien, paitsi Tilesterin kansion testmapin kanssa, jopa Coolbasicin Media-kansion testmapilla. Mitään arvailuja? Polkukaan ei ole väärä. Jos sillää tiedolla mitään tekee, käyttöjärjestelmä on Win 7.
Tilesterissä on eri versioita mapeista. Kokeile käyttää toista muotoa kartassa, kuulemma toinen ei toimi. Tarkista myös että tiedostonimet ovat oikein (vielä kerran) ja katso manuaalista että olet laittanut kaiken oikein. Ja jos laittaisit koodin tänne niin se auttaisi paljon.

PS: Tälläisiä kysymyksiä varten ei kannata tehdä omaa aihetta vaan ne kannattaa laittaa "tyhmiin kysymyksiin". :D

Re: Karttaongelma

Posted: Sun Jun 19, 2011 8:23 pm
by Troopperi

Code: Select all

'Painovoima on vakiona, johon  tarpeen tullen, esim hypätessä lisätään sen hetkinen arvo
' muuttujalle "liikey" jolloin saadaan hypyt jne. 
Const GRAVITY = -0.1

liikey# = 0

SAFEEXIT OFF

SCREEN 800,800
SetWindow "Peli",0,"Haluatko lopettaa?"
FrameLimit 60
'Kenttä
kartta =LoadMap ("C:\Users\[Minun nimi]\Documents\Coolbasic\Tasoloikka\kenttä2.til","C:\Users\[Minun nimi]\Documents\Coolbasic\Tasoloikka\tileset.bmp")
PlayObject kartta, 0,0,0.8
'Pelihahmon spritet oikealle katsottaessa
 oikea =LoadAnimObject ("C:\Users\[Minun nimi]\Documents\Coolbasic\Tasoloikka\oikea.png",36,45,0,10)
 MaskObject oikea, 255,255,255
 ShowObject oikea, OFF
 ObjectRange oikea, 36,45
 
'Sama vasemmalle
'MUISTA PYÖRITTÄÄ ANIMAATIOTA TAKAPERIN, KUN SPRITET ON LAISKASTI VAIN PEILATTU VAAKASUUNTAAN!" 
vasen =LoadAnimObject ("C:\Users\[Minun nimi]\Documents\Coolbasic\Tasoloikka\vasen.png",36,45,0,10)
MaskObject vasen, 255,255,255
ShowObject vasen, OFF
ObjectRange vasen,36,45

Ukko = CloneObject (oikea)
SetupCollision ukko,kartta,1,4,2
ObjectRange ukko,36,45
PositionObject ukko, -50,-50
'Jos et muista, objectrange on objektin törmäysalueen koko pikseleinä.

'Pääsilmukka

Repeat

liikex=0

    'Liike vasemmalle.
    If LeftKey ()  Then
    liikex = -3
    PaintObject ukko, vasen
    If maalla Then  PlayObject ukko, 7,1,-0.1

    'Liike oikealle.
    ElseIf RightKey () Then
    liikex= 3
    PaintObject ukko, oikea
    If maalla Then PlayObject ukko, 1,7,0.1
   
    'Muussa tapauksessa.
    Else
    PlayObject ukko,9
    EndIf
    
    TranslateObject ukko, liikex, liikey
    liikey = liikey+GRAVITY
    
    
    UpdateGame
    CloneCameraPosition ukko
    
    maalla =0
    
    collisions = CountCollisions (ukko)
    
    For a=1 To collisions
    
    If GetCollision (ukko,a)= kartta
        If CollisionAngle (ukko,a) = 90 Then
        maalla= 1
        liikey= -2
        EndIf
        If CollisionAngle (ukko,a) = 270 Then
        liikey= -2
        EndIf
        EndIf
     Next a
    If collisions = 0 Then
    PlayObject ukko,8
   
    EndIf
    If maalla And UpKey () Then
    liikey = 4.5
    
    EndIf
   

DrawScreen
Forever
Nyt kun tuo kartta "kenttä2.til" on tallennettu CB 1.3 versioksi, niin se ei enää herjaa, vaan tuloksena on mystinen, tyhjällä kentällä hyppyasennossa oleva ukko.

Ja kuten totesin, tuohan on samanlainen tutoriaali 18:n kanssa, vain grafiikat ja muuttujien nimet vaihdettu. Ja käsin kirjoitettu.

Re: Karttaongelma

Posted: Sun Jun 19, 2011 10:06 pm
by Timblex
On mahdollista että pelihamo ilmestyy kartan alle ja tippuu alaspäin(se selittäisi hyppyasennon)
vinkki: ei kannata laittaa tiedostopolkuja noin("C:\users\nimi\...") koska jos jaat pelisi netissä se ei toimi muiden koneilla ;)

Re: Karttaongelma

Posted: Tue Jul 19, 2011 3:00 pm
by Troopperi
Noniin. Nyt selvennän tässä ongelmaani vielä. Tilester 1.3 formaattiin tallentaminen siis auttoi, mutta kartta ei ilmesty. Ukko vain putoaa, vaikka positionobjectilla ne samoihin koordinaatteihin länttäsin (Varmistin putoamisen maalaamalla taustan kuvalla). Tämä ei ole ainut kerta, milloin olen ongelmaan törmännyt. Konekohtainen se ei ainakaan ole, sillä edellisellä koneellani oli aivan samoja ongelmia. Mikään itsetekemäni kartta ei oikein toimi, ainoastaan valmiit CB:n, vaikka en usko tekeväni Tilesterillä mitään väärin. Tilesetistäkään se ei riipu, itse tekemlläni tai CB:n tilesetillä ei toimi.

Re: Karttaongelma

Posted: Tue Jul 19, 2011 5:16 pm
by Awaclus
Ilman karttatiedoston näkemistä on vähän hankala auttaa. Minä en muutenkaan ihan vähään aikaan pysty käyttämään tietokonetta, mutta jos et ihan julkisesti halua karttaasi jakaa, löytyy varmaan joku, joka suostuu auttamaan jos k.o. henkilölle lähetät kartan yksityisviestillä. Minullekin kyllä saa lähettää, mutta mainitsemastani syystä johtuen siinä voi kestää jonkun aikaa ennen kuin pystyn auttamaan.

Re: Karttaongelma

Posted: Fri Aug 19, 2011 2:27 pm
by verihyypp
Ihan sama ongelma ollut minulla. Ei suostu toimimaan millään mappi versiolla. Ainoastaan valmiina tulleet toimivat. Toinen bugi on myös sellainen, ettet pysty lataamaan mappia, jos olet tallentanut työsi. Työn pitää olla tallentamaton että se suostuu lataamaan mapin. Tämän saa korjattua tekemällä uuden projektin, ja kopiomalla vanhan siihen uuteen. Se ei ole tallennettu joten latuu toimii.

Re: Karttaongelma

Posted: Sun Aug 28, 2011 12:39 pm
by JATothrim
Tilekarttan on aina oltava tallennettu 1.3 formaattiin.

CB on lyömättömän kätevä silloin, kun haluaa koodata pientä. Koodille, jota ei ole tallennettu vielä, löytyy jopa mediaa. Jos tarkoitus on taas tehdä isompaa projua (reippasti enemmän koodia mitä mahtuu ruudulle kerralla), kannattaa projektille tehdä oma kansio ja tallentaa koodi luotuun kansioon viimeistään silloin kun aletaan lataamaan mediaa.
Käännetty ohjelma etsii tiedostoja sen nykyisestä kansiosta joka voidaan asettaa ChDir komennolla. ChDir:llä asetetusta kansiosta päästään ylemmälle tasolle '..\' tiedostopolussa. Tallentamaton koodi käännetään ja tallennetaan cbRun.exe:ksi, joka sijaitsee 'C:\Program Files\CoolBasic\IDE' kansiossa. Nykyinen kansio asetetaan ohjelmalle 'C:\Program Files\CoolBasic\':ksi, jolloin ohjelma löytää 'C:\Program Files\CoolBasic\Media' kansiossa olevat kuvat ja muut härpäkeet. Tiedostopolku on relatiivinen ohjelman nykyiseen kansioon, kun levytunnus C:, D:, Z:, E: jne. uuppuu polun alusta.

Kun koodi tallennettaan, ylempi automaagisuus "häviää" ja ohjelman nykyinen kansio asetetaan samaksi kuin se, johon koodi tallennettiin.

LoadThing("media\..\media\blah.thing") tulkitaan näin: LoadThing(CurrentDir()+"media\blah.thing")
LoadThing("C:\media\..\blöh.thing") tulkitaan näin: LoadThing("C:\blöh.thing")

Vähän turha selittää tätä, koska varsinaiseen kysymykseen vastatiin jo, ja tämä sama kysymys/vastaus on pyörinyt tällä ties miten useasti. Oh well. :D