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.
Karttaongelma
Re: Karttaongelma
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.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.
PS: Tälläisiä kysymyksiä varten ei kannata tehdä omaa aihetta vaan ne kannattaa laittaa "tyhmiin kysymyksiin".
Re: Karttaongelma
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
Ja kuten totesin, tuohan on samanlainen tutoriaali 18:n kanssa, vain grafiikat ja muuttujien nimet vaihdettu. Ja käsin kirjoitettu.
Re: Karttaongelma
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
vinkki: ei kannata laittaa tiedostopolkuja noin("C:\users\nimi\...") koska jos jaat pelisi netissä se ei toimi muiden koneilla
Re: Karttaongelma
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
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
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
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.
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.
-On selkeästi impulsiivinen koodaaja joka...