Teen uutta ohjelmaa ja jotakin CB:llä on minua vastaan, keksi heittää "Can't load map":ia... Kaikki tarvittavat tiedostot ovat CB:n Media kansiossa (ovat siis itse tekemiäni, siirsin ne sinne). Tässä koodi ohjelmasta, tuskin kuitenkaan auttaa mut vilkaskaa nyt kummiskin:
FrameLimit 60
SCREEN 600,300
SetWindow "Find The Exit"
nuoli = LoadObject ("Media\nuoli.bmp",4)
kartta = LoadMap("Media\karttaw.til","Media\tile.bmp")
PositionObject nuoli,100,100
Repeat
If LeftKey() Then TurnObject nuoli,1
If RightKey() Then TurnObject nuoli,-1
If UpKey() Then MoveObject nuoli,5
If DownKey() Then MoveObject nuoli,-5
DrawScreen
Until EscapeKey ()
[/edit]
En kokeillu vielä, mutta varmaan väärä karttaeditori. Tilester saattaa pukata väärän version karttatiedostosta. On näet olemassa 2 karttatiedosto-versiota, ja Tilester voi joskus laittaa vanhemman. Koska Nyky-CB Käyttää uutta, erroria pukkaa. Eli kartta vaan uusiksi A Stigmatorilla.
A Stigmatoria käytän, en enään Tilesteriä. Eli vika ei pitäisi liittyä väärään karttaohjelmaan.
Last edited by Peltsi on Tue Nov 02, 2010 2:43 pm, edited 1 time in total.
Okei, sitten pane lähdekoodi CB:n kansioon. CoolBasic etsii aina tiedostoja alkaen siitä, missä exe on. Ja käännettäessä exe laitetaan aina tilapäisesti samaan paikkaan kuin lähdekoodi (.cb-tiedosto)
lollero 1996 wrote:Okei, sitten pane lähdekoodi CB:n kansioon. CoolBasic etsii aina tiedostoja alkaen siitä, missä exe on. Ja käännettäessä exe laitetaan aina tilapäisesti samaan paikkaan kuin lähdekoodi (.cb-tiedosto)
Sorsa ja exe ovat samassa kansiossa jossa media kansio on, ja lähdekoodissa polut + tiedostonimet ovat oikein. Homma ei silti toimi.
Ps. Muistuttaisin että tilekarttakin on tehty siis A Stigmatorilla.
Onko cb:llä mahdollista lukea pikseleitä toisen ohjelman ruudusta molempien toimiessa yhtä aikaa? Ja kuinka hidasta se on jos se ylipäätään onnistuu? Ja miten?
ZEPPELIN
Jatkoa tulossa... tällä kertaa lataus ei kestä viikkoa
Kille wrote:Onko cb:llä mahdollista lukea pikseleitä toisen ohjelman ruudusta molempien toimiessa yhtä aikaa? Ja kuinka hidasta se on jos se ylipäätään onnistuu? Ja miten?
Dll:llä voisi onnistua, mutta hankalaksi menisi... Jos nyt sinun pitäisi välttämättä saata välitettyä tuo tieto (epäilen) niin cb:llä se voisi onnistua tiedoston avulla johon toinen aina kirjoittaisi ruudun pikselit ja toinen lukisine... Tai ei sittenkään, se varmaankin kaatuu jos kaksi ohjelmaa yrittää lukea samaan aikaan tiedostoa... Voit tietysti vaikka nimetä uudelleen tiedoston kirjoituksen jälkeen, niin voisit siitä tarkistaa koska tiedosto on kirjoitettu. Ääh.. Unohda äskeinen. Kannattaa varmaankin käyttää cbNetworkiä tiedon välitykseen. Mutta jo pelkästään cb:n pikselikomentojen hitauden takia tämä tuskin toimii siinä tarkoituksessa missä ajattelit. Joten koita välttää sitä.
Feuer wrote:cbFunilla tuo onnistunee, mutta ei todellakaan ole helppoa tahi siistiä...
Ei onnistu, koska tuo lukee pikselin näytöstä eikä toisen ohjelman ikkunasta. Ja vaikka tietäisitkin toisen ohjelman ikkunan sijainnin, niin siinä ei saisi olla yhtään muuta ruutua päällä...
Muistanko väärin vai eikö Addtext muka vaihda riviä automaattisesti?
Mitä Textiin tulee, se komento ottaa koordinaatit parametrina ihan hyvästä syystä. Eli rivi vaihtuu pitämällä Xnaatti samana ja kasvattamalla Ynaattia suunnilleen TextHeight("asd")+2:n verran. Oletusfontilla hyväksi kasvatusmääräksi olen havainnut 10:n
Mikä olisi paras tapa toteuttaa ylävistosta kuvatun pelin peli- ja piirtomoottori kartalle, jossa on enemmän kuin 2 kerrosta ja esineitä? Oma yritelmäni ei oikein toimi, mutta kun postaan kännykällä en voi laittaa koodia.
ZEPPELIN
Jatkoa tulossa... tällä kertaa lataus ei kestä viikkoa
Jos tarkotat zelda-tyypin yläviistoa, piirtoloopissa käy kartta läpi vasemmalta oikealle rivi kerrallaan, takaa eteenpäin, kerrokset ylöspäin. Voit tallentaa tileen myös tiedon siitä, mitä esineitä sen sisällä on ja piirtää ne samassa loopissa, jolloin niiden piirtoa ei tarvitse varsinaisesti edes miettiä. Pistän pienen koodinpätkän myöhemmin, sikäli kuin kerkiän :)
Kun teen ehtolauseen jossa pitää olla monta juttua tosi (if a = 1 and b = 1 and c = 1), saako niitä jotenkin aseteltua allekkain, koska muo ärsyttää et siitä rivistä tulee niin pitkä tai onko jotai muuta kuin ehtolauseke millä sen sais niin?
xamuli wrote:Kun teen ehtolauseen jossa pitää olla monta juttua tosi (if a = 1 and b = 1 and c = 1), saako niitä jotenkin aseteltua allekkain, koska muo ärsyttää et siitä rivistä tulee niin pitkä tai onko jotai muuta kuin ehtolauseke millä sen sais niin?
Feuer wrote:Itse tosin katselisin mielummin pitkää riviä kuin kymmentä EndIfiä.
Minä käytän aika paljon tuota näyttämääsi tapaa, koska jo kirjoitetun koodin pitäminen samanlaisena niin paljon kuin mahdollista selkeyttää koodaamista, ja jos on mahdollista, että siihen kohtaan lisätään jossain vaiheessa joku toinen feature, yhdellä rivillä oleva ehtolause täytyy pätkäistä, mutta tuollaista ei tarvitse.
Kaikki ehtolauseiden sisältämät loogiset operaattorit (And, Or, Xor, Not) voidaan korvata laskutoimituksilla. Etenkin And-operaattorin kohdalla se voi lyhentää koodin pituutta, kun kertolaskut voidaan kirjoittaa pelkät sulkeet ehtojen ympärille, mutta käytännössä sen etu on mitätön.