Tyhmät kysymykset (I/2011)
Re: Tyhmät kysymykset (I/2011)
If GetMap2(3, ObjectX(pelihahmo), ObjectY(pelihahmo)) = 1 Then pitäisi toimia
Re: Tyhmät kysymykset (I/2011)
oletko tarkastanut kaikki muuttajat, ja mahd. virheet koodissa ?onkelma wrote:se nyt ei jostain syystä näyttäisi toimivan?
¤ Art
Re: Tyhmät kysymykset (I/2011)
Koodi oli lyhkänen joten laitoin tänne. Koottu esimerkin päälle. Ei kyllä tule mieleen mikä ois väärin
Code: Select all
Const PAINOVOIMA = -0.3 'painoviman voimakkuus
'pienempi->suurempi pv.
'positiiviset arvot->
'painovoima ylöspäin?!
yPlus#=0 'Tämä hallitsee hyppyä
SCREEN 800,600,0,cbwindowed
FrameLimit 40
'-------------------------------------------------
kenttä=LoadMap("Map1.til","malli tileset.png")
PositionObject kenttä,0,50
MaskObject kenttä,cbmagenta
PlayObject kenttä,0,0,0.5
oikea=LoadAnimObject("pelihahmo.png",40,64,0,13)
MaskObject oikea,cbMagenta
ShowObject oikea,OFF
ObjectRange oikea,40,64
vasen=LoadAnimObject("pelihahmo2.png",40,64,0,13)
MaskObject vasen,cbMagenta
ShowObject vasen,OFF
ObjectRange vasen,40,64
pelihahmo=CloneObject(oikea)
SetupCollision pelihahmo,kenttä,1,4,2
ObjectRange pelihahmo,40,64 '
'-------------------------------------------------
'Pääsilmukka
Repeat
ClsColor cbsilver
vauhti=0 'oletuksena ei liikettä
If RightKey() Then
PaintObject pelihahmo,oikea .
If maassa Then PlayObject pelihahmo,2,13,0.3
vauhti=4
ElseIf LeftKey() Then
PaintObject pelihahmo,vasen
If maassa Then PlayObject pelihahmo,2,13,0.25
vauhti=-4
Else
PlayObject pelihahmo,0
EndIf
TranslateObject pelihahmo,vauhti,yPlus#
yPlus=yPlus+PAINOVOIMA
UpdateGame
CloneCameraPosition pelihahmo
maassa=0
törmäykset=CountCollisions(pelihahmo)
For i=1 To törmäykset
If GetCollision(pelihahmo,i)=kenttä
If CollisionAngle(pelihahmo,i)=90 Then
yPlus#=-1
maassa=1
EndIf
If CollisionAngle(pelihahmo,i)=270 Then
yPlus#=-1
EndIf
EndIf
Next i
If törmäykset=0 Then PlayObject pelihahmo,12,0
If KeyDown(cbKeyZ) And maassa Then
yPlus#=7.7
EndIf
If GetMap2(3, ObjectX(pelihahmo), ObjectY(pelihahmo)) = 1 Then
yPlus#=0.5
EndIf
DrawScreen
Until EscapeKey()
Re: Tyhmät kysymykset (I/2011)
No ensinnäkin nythän pelaaja liikkuu automaattisesti tikkailla jos sattuu niille päätymään...
Toinen ongelma saattaisi olla että objektin sijaintipiste on jossain aivan hevon kuusessa kun sen todennäköisesti pitäisi olla objektin keskellä ainakin tätä varten.
Toinen ongelma saattaisi olla että objektin sijaintipiste on jossain aivan hevon kuusessa kun sen todennäköisesti pitäisi olla objektin keskellä ainakin tätä varten.
EDIT:
Jaha, GetMap lukee pikseleinä eikä GetMap2. Siinä se ongelma, poista kakkonen.
Last edited by esa94 on Mon Dec 19, 2011 6:59 pm, edited 1 time in total.
Re: Tyhmät kysymykset (I/2011)
Senhän kuuluu ollakin.Art wrote:painovoima on vakio ja ei voi muuttua
EDIT: Onnea, pääsit juuri allekirjoitukseeni.
Last edited by Awaclus on Mon Dec 19, 2011 8:35 pm, edited 1 time in total.
Re: Tyhmät kysymykset (I/2011)
Kiitos tästä fysiikan oppitunnista.Art wrote:painovoima on vakio ja ei voi muuttua
Re: Tyhmät kysymykset (I/2011)
Code: Select all
Const PAINOVOIMA = -0.3 'painoviman voimakkuus
'pienempi->suurempi pv.
'positiiviset arvot->
'painovoima ylöspäin?!
yPlus#=0 'Tämä hallitsee hyppyä
SCREEN 800,600,0,cbwindowed
FrameLimit 40
'-------------------------------------------------
kenttä=LoadMap("Map1.til","malli tileset.png")
PositionObject kenttä,0,50
MaskObject kenttä,cbmagenta
PlayObject kenttä,0,0,0.5
oikea=LoadAnimObject("pelihahmo.png",40,64,0,13)
MaskObject oikea,cbMagenta
ShowObject oikea,OFF
ObjectRange oikea,40,64
vasen=LoadAnimObject("pelihahmo2.png",40,64,0,13)
MaskObject vasen,cbMagenta
ShowObject vasen,OFF
ObjectRange vasen,40,64
pelihahmo=CloneObject(oikea)
SetupCollision pelihahmo,kenttä,1,4,2
ObjectRange pelihahmo,40,64
'-------------------------------------------------
'Pääsilmukka
Repeat
ClsColor cbsilver
vauhti=0 'oletuksena ei liikettä
If RightKey() Then
PaintObject pelihahmo,oikea
If maassa Then PlayObject pelihahmo,2,13,0.3
vauhti=4
ElseIf LeftKey() Then
PaintObject pelihahmo,vasen
If maassa Then PlayObject pelihahmo,2,13,0.25
vauhti=-4
Else
PlayObject pelihahmo,0
EndIf
TranslateObject pelihahmo,vauhti,yPlus#
yPlus=yPlus+PAINOVOIMA
UpdateGame
CloneCameraPosition pelihahmo
maassa=0
törmäykset=CountCollisions(pelihahmo)
For i=1 To törmäykset
If GetCollision(pelihahmo,i)=kenttä
If CollisionAngle(pelihahmo,i)=90 Then
yPlus#=-1
maassa=1
EndIf
If CollisionAngle(pelihahmo,i)=270 Then
yPlus#=-1
EndIf
EndIf
Next i
If törmäykset=0 Then PlayObject pelihahmo,12,0
If KeyDown(cbKeyZ) And maassa Then
yPlus#=7.7
EndIf
Poistin 2 pistettä väärästä kohtaa ja itselläni ainakin toimii, niin kauvan kunnes ei voi ladata karttaa jota ei mulla luonnollisesti ole..
¤ Art
Re: Tyhmät kysymykset (I/2011)
No shit sherlock. Se koodin alkuosahan on suoraan kopioitu CoolBasicin painovoimaesimerkistä pienillä arvojen muutoksilla, totta kai se toimii. Eikä alkuperäinen kysyjäkään tainnut sanoa mitään sellaisesta, että ohjelma ei käynnisty.Art wrote:Code: Select all
Const PAINOVOIMA = -0.3 'painoviman voimakkuus 'pienempi->suurempi pv. 'positiiviset arvot-> 'painovoima ylöspäin?! yPlus#=0 'Tämä hallitsee hyppyä SCREEN 800,600,0,cbwindowed FrameLimit 40 '------------------------------------------------- kenttä=LoadMap("Map1.til","malli tileset.png") PositionObject kenttä,0,50 MaskObject kenttä,cbmagenta PlayObject kenttä,0,0,0.5 oikea=LoadAnimObject("pelihahmo.png",40,64,0,13) MaskObject oikea,cbMagenta ShowObject oikea,OFF ObjectRange oikea,40,64 vasen=LoadAnimObject("pelihahmo2.png",40,64,0,13) MaskObject vasen,cbMagenta ShowObject vasen,OFF ObjectRange vasen,40,64 pelihahmo=CloneObject(oikea) SetupCollision pelihahmo,kenttä,1,4,2 ObjectRange pelihahmo,40,64 '------------------------------------------------- 'Pääsilmukka Repeat ClsColor cbsilver vauhti=0 'oletuksena ei liikettä If RightKey() Then PaintObject pelihahmo,oikea If maassa Then PlayObject pelihahmo,2,13,0.3 vauhti=4 ElseIf LeftKey() Then PaintObject pelihahmo,vasen If maassa Then PlayObject pelihahmo,2,13,0.25 vauhti=-4 Else PlayObject pelihahmo,0 EndIf TranslateObject pelihahmo,vauhti,yPlus# yPlus=yPlus+PAINOVOIMA UpdateGame CloneCameraPosition pelihahmo maassa=0 törmäykset=CountCollisions(pelihahmo) For i=1 To törmäykset If GetCollision(pelihahmo,i)=kenttä If CollisionAngle(pelihahmo,i)=90 Then yPlus#=-1 maassa=1 EndIf If CollisionAngle(pelihahmo,i)=270 Then yPlus#=-1 EndIf EndIf Next i If törmäykset=0 Then PlayObject pelihahmo,12,0 If KeyDown(cbKeyZ) And maassa Then yPlus#=7.7 EndIf
Poistin 2 pistettä väärästä kohtaa ja itselläni ainakin toimii, niin kauvan kunnes ei voi ladata karttaa jota ei mulla luonnollisesti ole..
-
- Devoted Member
- Posts: 718
- Joined: Wed Nov 03, 2010 7:56 pm
- Location: Joku piste pohjoisessa.
Re: Tyhmät kysymykset (I/2011)
Sijaitsevatko nuo Map1 ja malli tileset siinä samassa kansiossa kuin tämä koodi? Jos ei, niin ongelma on siinä. Ohjelma siis etsii aina sieltä kansiosta ellet määrittele eteen "Kansio\"(seuraava kansio), "...\"(edellinen kansio) tai "C:\" Tai joku muu levyn kirjain. Esim. jos tiedosto sijaitsee: "C:\matti\desktop\map1.til" niin jos koodisikin on sijainnissa "C:\matti\desktop\koodi.cb" niin LoadMap("map1.til,"kuva.jpg") toimii.Art wrote:Code: Select all
Const PAINOVOIMA = -0.3 'painoviman voimakkuus 'pienempi->suurempi pv. 'positiiviset arvot-> 'painovoima ylöspäin?! yPlus#=0 'Tämä hallitsee hyppyä SCREEN 800,600,0,cbwindowed FrameLimit 40 '------------------------------------------------- kenttä=LoadMap("Map1.til","malli tileset.png") PositionObject kenttä,0,50 MaskObject kenttä,cbmagenta PlayObject kenttä,0,0,0.5 oikea=LoadAnimObject("pelihahmo.png",40,64,0,13) MaskObject oikea,cbMagenta ShowObject oikea,OFF ObjectRange oikea,40,64 vasen=LoadAnimObject("pelihahmo2.png",40,64,0,13) MaskObject vasen,cbMagenta ShowObject vasen,OFF ObjectRange vasen,40,64 pelihahmo=CloneObject(oikea) SetupCollision pelihahmo,kenttä,1,4,2 ObjectRange pelihahmo,40,64 '------------------------------------------------- 'Pääsilmukka Repeat ClsColor cbsilver vauhti=0 'oletuksena ei liikettä If RightKey() Then PaintObject pelihahmo,oikea If maassa Then PlayObject pelihahmo,2,13,0.3 vauhti=4 ElseIf LeftKey() Then PaintObject pelihahmo,vasen If maassa Then PlayObject pelihahmo,2,13,0.25 vauhti=-4 Else PlayObject pelihahmo,0 EndIf TranslateObject pelihahmo,vauhti,yPlus# yPlus=yPlus+PAINOVOIMA UpdateGame CloneCameraPosition pelihahmo maassa=0 törmäykset=CountCollisions(pelihahmo) For i=1 To törmäykset If GetCollision(pelihahmo,i)=kenttä If CollisionAngle(pelihahmo,i)=90 Then yPlus#=-1 maassa=1 EndIf If CollisionAngle(pelihahmo,i)=270 Then yPlus#=-1 EndIf EndIf Next i If törmäykset=0 Then PlayObject pelihahmo,12,0 If KeyDown(cbKeyZ) And maassa Then yPlus#=7.7 EndIf
Poistin 2 pistettä väärästä kohtaa ja itselläni ainakin toimii, niin kauvan kunnes ei voi ladata karttaa jota ei mulla luonnollisesti ole..
<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
Re: Tyhmät kysymykset (I/2011)
Ongelmahan ei ole siinä, että koodi ei toimi. Ongelma oli siinä, että alkuperäinen kysyjä (vieras) ei saanut tasohyppelypelissä hahmoa menemään tikkaiden kohdalla ylöspäin. Sen jälkeen, kun Esa oli jo ratkaissut ongelman, Art ensin ilmoitti painovoiman olevan vakio, sitten vähän myöhemmin ilmoitti, että CoolBasicin painovoimaoppitunti toimii ja että hänellä ei ole alkuperäisen kysyjän karttaa, ja sitten sinä lainasit Artia.naputtelija wrote:Sijaitsevatko nuo Map1 ja malli tileset siinä samassa kansiossa kuin tämä koodi? Jos ei, niin ongelma on siinä. Ohjelma siis etsii aina sieltä kansiosta ellet määrittele eteen "Kansio\"(seuraava kansio), "...\"(edellinen kansio) tai "C:\" Tai joku muu levyn kirjain. Esim. jos tiedosto sijaitsee: "C:\matti\desktop\map1.til" niin jos koodisikin on sijainnissa "C:\matti\desktop\koodi.cb" niin LoadMap("map1.til,"kuva.jpg") toimii.Art wrote:Code: Select all
Const PAINOVOIMA = -0.3 'painoviman voimakkuus 'pienempi->suurempi pv. 'positiiviset arvot-> 'painovoima ylöspäin?! yPlus#=0 'Tämä hallitsee hyppyä SCREEN 800,600,0,cbwindowed FrameLimit 40 '------------------------------------------------- kenttä=LoadMap("Map1.til","malli tileset.png") PositionObject kenttä,0,50 MaskObject kenttä,cbmagenta PlayObject kenttä,0,0,0.5 oikea=LoadAnimObject("pelihahmo.png",40,64,0,13) MaskObject oikea,cbMagenta ShowObject oikea,OFF ObjectRange oikea,40,64 vasen=LoadAnimObject("pelihahmo2.png",40,64,0,13) MaskObject vasen,cbMagenta ShowObject vasen,OFF ObjectRange vasen,40,64 pelihahmo=CloneObject(oikea) SetupCollision pelihahmo,kenttä,1,4,2 ObjectRange pelihahmo,40,64 '------------------------------------------------- 'Pääsilmukka Repeat ClsColor cbsilver vauhti=0 'oletuksena ei liikettä If RightKey() Then PaintObject pelihahmo,oikea If maassa Then PlayObject pelihahmo,2,13,0.3 vauhti=4 ElseIf LeftKey() Then PaintObject pelihahmo,vasen If maassa Then PlayObject pelihahmo,2,13,0.25 vauhti=-4 Else PlayObject pelihahmo,0 EndIf TranslateObject pelihahmo,vauhti,yPlus# yPlus=yPlus+PAINOVOIMA UpdateGame CloneCameraPosition pelihahmo maassa=0 törmäykset=CountCollisions(pelihahmo) For i=1 To törmäykset If GetCollision(pelihahmo,i)=kenttä If CollisionAngle(pelihahmo,i)=90 Then yPlus#=-1 maassa=1 EndIf If CollisionAngle(pelihahmo,i)=270 Then yPlus#=-1 EndIf EndIf Next i If törmäykset=0 Then PlayObject pelihahmo,12,0 If KeyDown(cbKeyZ) And maassa Then yPlus#=7.7 EndIf
Poistin 2 pistettä väärästä kohtaa ja itselläni ainakin toimii, niin kauvan kunnes ei voi ladata karttaa jota ei mulla luonnollisesti ole..
faecplam
- aloittelijamies
- Newcomer
- Posts: 45
- Joined: Fri Nov 18, 2011 9:55 pm
Re: Tyhmät kysymykset (I/2011)
Yritän saada objecteja (kuten kerättäväviä tavaroita joista saa pisteitä tai hp:ta) peliini. Objectit on sijoitettu tilekarttaan datakerroksen avulla
ja kokeilin tästä topicista hakea koodia hoitamaan homman.
Lopputuloksena peli toimii normaalisti, mutta ilman haluttuja karttaan asetettuja datatilejä ja niille paikoille sijoitettuja objekteja
Saisiko tuohon yllämainittuun koodiin vielä jotain selvennystä yms? Data-arvo(4 kartassa ja myös koodissa) ja cloneobject on jo selvää. Esine objecti on ajettu peliin loadobject kommennolla jo valmiiksi joten cloneobjectista tuskin johtuu.
ja kokeilin tästä topicista hakea koodia hoitamaan homman.
Lopputuloksena peli toimii normaalisti, mutta ilman haluttuja karttaan asetettuja datatilejä ja niille paikoille sijoitettuja objekteja
Saisiko tuohon yllämainittuun koodiin vielä jotain selvennystä yms? Data-arvo(4 kartassa ja myös koodissa) ja cloneobject on jo selvää. Esine objecti on ajettu peliin loadobject kommennolla jo valmiiksi joten cloneobjectista tuskin johtuu.
Re: Tyhmät kysymykset (I/2011)
Mainitsemassasi koodissa läpikäydään kahden sisäkkäisen For-silmukan avulla koko kartan datakerros läpi.aloittelijamies wrote:Yritän saada objecteja (kuten kerättäväviä tavaroita joista saa pisteitä tai hp:ta) peliini. Objectit on sijoitettu tilekarttaan datakerroksen avulla
ja kokeilin tästä topicista hakea koodia hoitamaan homman.
Lopputuloksena peli toimii normaalisti, mutta ilman haluttuja karttaan asetettuja datatilejä ja niille paikoille sijoitettuja objekteja
Saisiko tuohon yllämainittuun koodiin vielä jotain selvennystä yms? Data-arvo(4 kartassa ja myös koodissa) ja cloneobject on jo selvää. Esine objecti on ajettu peliin loadobject kommennolla jo valmiiksi joten cloneobjectista tuskin johtuu.
Sisemmässä loopissa käydään kaikki tilet vaakasuunnassa läpi, ja sitten ulompi silmukka suorittaa saman uudelleen, mutta y-muuttujan kasvettua yhdellä.
Joka tilen kohdalla tarkistetaan tilen data-arvo. Jos se on 4, siis tässä tapauksessa, luodaan objekti.
Objekti sijoitetaan aloittelijoille hieman epäselvin kaavoin:
Code: Select all
tile_leveys*(-0.5*MapWidth() + x - 0.5) + ObjectX(kartta)
Code: Select all
tile_leveys *
(
-0.5 * MapWidth()
+ x
- 0.5
)
+ ObjectX(kartta)
Tämä siksi, että maailmakoordinaateissa 0, 0 on keskellä. Jos kartan koko olisi 32*32, ja esine tulisi laittaa kohtaan 16, 16, tulisi esineen ilmestyä maailman keskelle.
Kertomalla -0.5:llä saadaan kartan vasen yläkulma oikeaan paikkaan.
Seuraavaksi lisätään siihen läpikäytävän paikan vaakakoordinaatti. Jos paikka jälleen on 16, -16+16=0. Vastaavasti -16+0=-16, jos paikka olisi vasen reuna.
Puolikkaan poistaminen koordinaateista ei liity luvulla -0.5 kertomiseen. Sen tarkoitus on siirtää objekti tilen keskelle.
Sitten koko komeus kerrotaan tilen leveydellä. Jos tilejen leveys olisi vaikka 32, eikä sillä kerrottaisi edellä saatuja lukuja, vastaisivat koordinaatit silloin pikseleitä. Silloin tilekartan 0, 0 vastaisi maailmakoordinaattien
kohtaa -32, -32, mikä tarkoittaisi tässä tapauksessa kohtaa keskustan vieressä. Koko sulkeissa oleva laskutoimitus palauttaa tilejen koordinaatit maailmassa. Siispä kerrotaan tilen leveydellä.
Lopuksi pieni viilaus, joka useimmissa tilanteissa lienee turha, mutta jos karttaan on liikuteltu, eivät esineet ilmesty oikein. Siispä siirretään esinettä vielä aiottuun kohtaan suhteessa karttaan.
Nyt saatiin muunnettua melko lyhyellä koodilla kartan tilekoordinaatit maailmakoordinaateiksi, mutta vain vaakasuunnassa. Y-koordinaateille tehdään lähes sama:
Code: Select all
tile_leveys*(-0.5*MapHeight() - y + 0.5) + ObjectY(kartta)
Ero on siinä, että kartan keskikohdasta vähennetään aiotun paikan y-koordinaatti. Maailmakoordinaateissa Y kasvaa ylöspäin!
Jotta esineitä ilmestyisi kartalle, täytyy totta kai kartan datakerroksesta löytyä arvoja 4. Tilesteriä käytettäessä klikataan DATA-kerros näkyviin ja DATA-tekstiä klikkaamalla se muuttuu siniseksi.
Kirjoita luku 4 ja piirrä.
Kiinnostuin pelien tekemisestä ennen 1. luokkaa.
Sitten 3. luokalla tuli CB. Ja siitä se alkoi.
Blender! TF2! CB! Game Maker! Nokia-mollaus! Kitaransoitto! Breakdance! MadTracker! Minecraft!
Sitten 3. luokalla tuli CB. Ja siitä se alkoi.
Blender! TF2! CB! Game Maker! Nokia-mollaus! Kitaransoitto! Breakdance! MadTracker! Minecraft!
- aloittelijamies
- Newcomer
- Posts: 45
- Joined: Fri Nov 18, 2011 9:55 pm
Re: Tyhmät kysymykset (I/2011)
^ kiitos tästä
Re: Tyhmät kysymykset (I/2011)
Funktio kartalle sijoituksesta, olettaen ettei karttaa olla siirretty moveobjektilla:
Esimerkki:
Code: Select all
Function SijoitaObjKartalle(objekti, mapX, mapY, tilenLeveys = 32, tilenKorkeus = 32)
PositionObject objekti, (-MapWidth()*tilenLeveys)/2+mapX*tilenLeveys-ObjectSizeX(objekti)/2, (MapHeight()*tilenLeveys)/2-mapY*tilenLeveys-ObjectSizeY(objekti)/2
EndfFunction
Code: Select all
FrameLimit 40
kartta = LoadMap("Media\cdm2.til","Media\tileset.bmp")
PlayObject kartta,0,0,1
ukko = LoadObject ("Media\guy.bmp",72)
SetupCollision ukko, kartta, 1, 4, 2
PositionObjectMap(ukko, 20, 45) //Tässä kohtaa käytetään tekemääni funktiota.
Repeat
If LeftKey() Then TurnObject ukko,5
If RightKey() Then TurnObject ukko,-5
If UpKey() Then MoveObject ukko,2
If DownKey() Then MoveObject ukko,-2
UpdateGame
CloneCameraPosition ukko
DrawScreen
Forever
Function PositionObjectMap(objekti, mapX, mapY, tilenLeveys = 32, tilenKorkeus = 32)
PositionObject objekti, (-MapWidth()*tilenLeveys)/2+mapX*tilenLeveys-ObjectSizeX(objekti)/2, (MapHeight()*tilenLeveys)/2-mapY*tilenLeveys+ObjectSizeY(objekti)/2
EndFunction
Solar Eclipse
We're in a simulation, and God is trying to debug us.
- aloittelijamies
- Newcomer
- Posts: 45
- Joined: Fri Nov 18, 2011 9:55 pm
Re: Tyhmät kysymykset (I/2011)
Koodi toimii oikein(ei heitä mitään erroria kun peli käynnistyy,data-arvot syötetty karttaan ja objektki ladattu mutta silti data-arvoisten tilejen kohdalla ei näy yhtään mitään.
Esine joka ladatiin loadobject komennolla toimii ja näkyy, mutta nämä "kloonanut" ei vaikkakin cloneobject komento on oikein.
Esine joka ladatiin loadobject komennolla toimii ja näkyy, mutta nämä "kloonanut" ei vaikkakin cloneobject komento on oikein.
Re: Tyhmät kysymykset (I/2011)
Koita heittää vaikka MakeErrorilla virhettä siinä kohtaa kun kloonaat objektin. Näet sillä sitten että toimiiko objektien laittaminen kartalle alunperinkään.aloittelijamies wrote:Koodi toimii oikein(ei heitä mitään erroria kun peli käynnistyy,data-arvot syötetty karttaan ja objektki ladattu mutta silti data-arvoisten tilejen kohdalla ei näy yhtään mitään.
Esine joka ladatiin loadobject komennolla toimii ja näkyy, mutta nämä "kloonanut" ei vaikkakin cloneobject komento on oikein.
On hyvä tapa tehdä kloonattavat objektit niin, että lataa ensin master-objektin, josta sitten kloonataan kaikki muut objektit. Master-objekti sitten piilotettaisiin käyttämällä ShowObject-komentoa. Näin koodi olisi yhtenäistä kun kaikkia objekteja käsiteltäisiin tyyppikokoelman jäseninä.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Re: Tyhmät kysymykset (I/2011)
Tuli ongelmia kartan kanssa:
Eli pitäisi toimia seuraavasti: Jos ammuksen koordinaateissa tilen data-kerroksessa on arvo neljä, muokataan over-kerrokseen tileksi järjestyksessään 15. tile ja data-kerroksen arvoksi viisi, eli muokataan sitä tileä minkä päällä ammus on ja sen jälkeen poistetaan ammus-objekti. Nyt käy kuitenkin niin, että ilmoittaa "EditMap Failed" ja peli kaatuu siihen paikkaan. Kiitos jo etukäteen avusta
Code: Select all
If GetMap(3,ObjectX(bullet),ObjectY(bullet)) = 4 Then
EditMap map,1,ObjectX(bullet),ObjectY(bullet),15
EditMap map,3,ObjectX(bullet),ObjectY(bullet),5
DeleteObject bullet
EndIf