Tyhmät kysymykset (I/2012)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
User avatar
ItzRaines
Active Member
Posts: 211
Joined: Sat Feb 05, 2011 6:59 pm

Re: Tyhmät kysymykset (I/2011)

Post by ItzRaines »

Kartta ladataan objekteista ensimmäisenä ja kulmaan luodaan tekstiä silmukassa. Nyt kuitenkin teksti ei näy vaan ilmeisesti mennyt kartan taakse. En löydä vikaa.. :roll:
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by Awaclus »

ItzRaines wrote:Kartta ladataan objekteista ensimmäisenä ja kulmaan luodaan tekstiä silmukassa. Nyt kuitenkin teksti ei näy vaan ilmeisesti mennyt kartan taakse. En löydä vikaa.. :roll:
Käytätkö DrawGamea ennen tekstien piirtämistä? Jos et, syy on siinä.
User avatar
ItzRaines
Active Member
Posts: 211
Joined: Sat Feb 05, 2011 6:59 pm

Re: Tyhmät kysymykset (I/2011)

Post by ItzRaines »

Chaosworm wrote:
ItzRaines wrote:Kartta ladataan objekteista ensimmäisenä ja kulmaan luodaan tekstiä silmukassa. Nyt kuitenkin teksti ei näy vaan ilmeisesti mennyt kartan taakse. En löydä vikaa.. :roll:
Käytätkö DrawGamea ennen tekstien piirtämistä? Jos et, syy on siinä.
Kiitän, oli juuri se jäänyt sieltä pois.
suunnat sekaisin

Re: Tyhmät kysymykset (I/2011)

Post by suunnat sekaisin »

Objectin pitäisi pystyä liikkumaan vain neljään suuntaan miten tämä toteutetaan? Jokainen suunta on animoitu, eli ylös alas ja sivuille niin, että jos liikkuu vasemmalle niin animointi pysyy siinä suunnassa. ja Muissa sama homma.
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by temu92 »

TranslateObject ja näytät animaatiota liikkumisen suunnan mukaisesti.
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by axu »

Learning centerin 19. oppitunti näyttää yhden tavan, miten tämän voi toteuttaa. Toinen tapa, mitä itse suosin, on pitää kaikkia animaatioita yhdessä kuvassa ja tallentaa muuttujaan, mihin suuntaan on kuljettu viimeksi (jonka mukaan sitten näytetään oikea animaatio). Animointia voi selkeyttää huomattavasti, kun tallentaa vakioihin animaatioiden aloitus- ja lopetusframen.
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb »

Minä teen muutaman funktion joka auttaa kirjoittamaan asetustiedostoon, ja mulla on ongelma:
Onko jotain poppakonstia millä voi tarkistaa onko tiedostokahva kelvollinen, toivon pikaista vastausta, mutta ei kiirettä.
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Tyhmät kysymykset (I/2011)

Post by koodaaja »

Kuten manuaalissa sanotaan, OpentoX-funktiot palauttavat 0, mikäli tiedostoa ei saatu avattua. Lisäksi jo ennen tiedoston avaamista voi kokeilla FileExistillä ja IsDirectoryllä onko se varmasti olemassa (ettei vahingossa luoda vain uutta, tyhjää tiedostoa) eikä kansio.
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 7:56 pm
Location: Joku piste pohjoisessa.

Re: Tyhmät kysymykset (I/2011)

Post by naputtelija »

Hmm... Eikös nyt ole vuosi 2012 eikä 2011 :-P
EDIT:

Siis oikeasti, eikö olisi jo korkea aika käynnistää tk(I/2012) :shock:

Last edited by naputtelija on Tue Jun 26, 2012 7:46 pm, edited 1 time in total.
<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...
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by Awaclus »

naputtelija wrote:Hmm... Eikös nyt ole vuosi 2012 eikä 2011 :-P
>2011
>burgeroi vuosiluvusta
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Tyhmät kysymykset (I/2011)

Post by koodaaja »

Palataanpa asiaan. Ja viherteksti on aika viime vuosikymmentä :p
ongelmaa

Re: Tyhmät kysymykset (I/2011)

Post by ongelmaa »

Objecteja vaivaa tuollainen mustat kehys/reunat miten ne saisi pois?
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by valscion »

ongelmaa wrote:Objecteja vaivaa tuollainen mustat kehys/reunat miten ne saisi pois?
Objekteissa täytyy käyttää maskivärinä täyttä mustaa jos niitä pyöritellään. CB ei osaa pyörityksen yhteydessä korjata pois muita värejä.

Jos vastaukseni ei ollut oikea kysymykseesi ja kysyitkin jotain ihan muuta, niin kerroppas vähän enemmän ja laita vaikkapa jonkinlaista koodia mukaan. Mitä tarkoitat sillä että objekteja vaivaa "musta kehys"?
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
Guest

Re: Tyhmät kysymykset (I/2011)

Post by Guest »

VesQ wrote:
ongelmaa wrote:Objecteja vaivaa tuollainen mustat kehys/reunat miten ne saisi pois?
Objekteissa täytyy käyttää maskivärinä täyttä mustaa jos niitä pyöritellään. CB ei osaa pyörityksen yhteydessä korjata pois muita värejä.

Jos vastaukseni ei ollut oikea kysymykseesi ja kysyitkin jotain ihan muuta, niin kerroppas vähän enemmän ja laita vaikkapa jonkinlaista koodia mukaan. Mitä tarkoitat sillä että objekteja vaivaa "musta kehys"?
Ratkesi ongelma tuolla. Kiitoksia! :) Se vain, että objectit ei pyöri vaan ovat animoituja ja niitä kehysti tuo musta kun käveli.
Inventoorio

Re: Tyhmät kysymykset (I/2011)

Post by Inventoorio »

Miten toteutetaan peliin inventoorio? Olen ajatellut, että ohjelma kirjoittaisi tekstitiedostoon montako kutakin tavaraa on ja peli lukisi sieltä.

Mutta en ole oikein selvää saanut komennoista miten toteuttaa tuo. Esimerkki ei oikein auttanut. Ohjeita tarvisin tai yksinkertaistetumpaa esimerkkiä :)
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by axu »

Inventoorio wrote:Miten toteutetaan peliin inventoorio? Olen ajatellut, että ohjelma kirjoittaisi tekstitiedostoon montako kutakin tavaraa on ja peli lukisi sieltä.
Riippuu siitä, minkälaista tavaraa siellä 'inventooriossa' oikein on. Jos eri tavaroita on vain muutama (esim. kuinka monta potionia, ammusta ja rahaa on, mikä on nykyinen ase), yksi tapa on pitää jokaisen tavaran määrää tai tyyppiä omassa muuttujassa ja tallentaa ne sitten tietyssä järjestyksessä tiedostoon esim. WriteInt-komennolla.

Jos tavaroita on paljon erityyppisiä, voit pitää tavaroita taulukossa tai mieluummin tyyppikokoelmassa (tyyppikokoelma on huomattavasti parempi etenkin jos erityyppisten tavaroiden määrää ei ole rajoitettu). Tyyppikokoelma sisältäisi merkkijonokentän, joka sisältää tavaran nimen ja kokonaislukukenttä, joka sisältää ko. tavaroiden määrän. Kirjoittelin hieman runkoa: viewtopic.php?f=12&t=2820

Siinä vaiheessa kun siirrytään JRPG-tasolle, niin kannattaa miettiä hashtableja.
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb »

Onko mitään tapaa toteuttaa seuraavaa:
Minulla on sprite, jossa on tietty väri(minulla 177,177,177), miten saan sen värin korvautumaan esimerkiksi punaiseksi, säästyisi katsos paljon spritejä, jos tekee muuttuvia kuvia, onko mitään mahdollisuutta toteuttaa tätä
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by axu »

skorpioni-cb wrote:Onko mitään tapaa toteuttaa seuraavaa:
Minulla on sprite, jossa on tietty väri(minulla 177,177,177), miten saan sen värin korvautumaan esimerkiksi punaiseksi, säästyisi katsos paljon spritejä, jos tekee muuttuvia kuvia, onko mitään mahdollisuutta toteuttaa tätä
SDK:n ChangeColor, itse käytin aikoinaan vastaavanlaisessa tarkoituksessa.

CB Party Packin lähdekoodissa on myös MetalRainin tekemä funktio, jolla saa värjättyä kaikki värit. Jos käytät cbe:tä, niin tähän sopii myös piirtovärin asettaminen sopivaksi ja piirtämällä cbeDrawTintedScaledRotatedImageRegion toiseen kuvaan.
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb »

axu wrote:
skorpioni-cb wrote:Onko mitään tapaa toteuttaa seuraavaa:
Minulla on sprite, jossa on tietty väri(minulla 177,177,177), miten saan sen värin korvautumaan esimerkiksi punaiseksi, säästyisi katsos paljon spritejä, jos tekee muuttuvia kuvia, onko mitään mahdollisuutta toteuttaa tätä
SDK:n ChangeColor, itse käytin aikoinaan vastaavanlaisessa tarkoituksessa.

CB Party Packin lähdekoodissa on myös MetalRainin tekemä funktio, jolla saa värjättyä kaikki värit. Jos käytät cbe:tä, niin tähän sopii myös piirtovärin asettaminen sopivaksi ja piirtämällä cbeDrawTintedScaledRotatedImageRegion toiseen kuvaan.
Örp, miten tota cbeDrawTintedScaledRotatedImageRegion-funktiota voi käyttää siihen tarkoitukseen(voi pojat kun ton funktion nimi on pitkä :shock: )
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 8:25 am

Re: Tyhmät kysymykset (I/2011)

Post by Sly_Jack0 »

Inventoorio wrote:Miten toteutetaan peliin inventoorio? Olen ajatellut, että ohjelma kirjoittaisi tekstitiedostoon montako kutakin tavaraa on ja peli lukisi sieltä.

Mutta en ole oikein selvää saanut komennoista miten toteuttaa tuo. Esimerkki ei oikein auttanut. Ohjeita tarvisin tai yksinkertaistetumpaa esimerkkiä :)
Tässä joskus kirjoittelemani inventoryesimerkki (joka muuten löytyi haulla). Koodissa vain ihan perusperus toiminnot, joten esimerkiksi tavaran palautusta ei ole toteutettu. Toimii muistipaloilla, joten ei ehkä alkuun helpoin ymmärtää. Tässä nyt ei ole mitään tiedostoon tallennusta, mutta se on kohtalaisen helppo lisätä. Et voi kuitenkaan suoraan tallentaa tavaroiden id-numeroita tiedostoon, sillä ne eivät ole joka kerralla samat.

Code: Select all

//Pelaajan inventory.
Global playerInventory

//Tavarat.
Type ITEM
   Field name$
   
   Field price
   
   Field id
EndType

For k = 0 To 4
   
   i.ITEM = New(ITEM)
      i\name$ = Chr(Rand(255))
      
      i\price = Rand(10,1000)
      
      i\id = ConvertToInteger(i)
      
   addToInventory(i\id,Rand(2,10))
      
Next k

printItems()
waitkey




//Palauttaa tavaran sijainnin inventoryssä.
//Jos tavaraa ei löydy, palautetaan -1.
Function itemPosition(itemId)
   
   //Tavararoisden määrä.
   tmpItems = MEMBlockSize(playerInventory) / 5 '(Int + Byte = 5 tavua)
   
   For i = 0 To tmpItems - 1
      If PeekInt(playerInventory,i * 5) = itemId
         Return i * 5
      EndIf
   Next i
   
   Return -1

EndFunction

//Lisää tavaran inventoryyn.
Function addToInventory(itemId,amount)
   
   //Jos inventoryä ei ole, luodaan se.
   If playerInventory = 0
      playerInventory = MakeMEMBlock(5)
   EndIf
   
   tmpPos = itemPosition(itemId)
   
   //Jos tavara ON jo inventoryssä, kasvatetaan sen määrää.
   If tmpPos <> - 1
      //Luetaan entinen määrä.
      tmpAmount = PeekByte(playerInventory,tmpPos + 4)
      //Lisätään määrää.
      tmpAmount = tmpAmount + amount
      //Kirjoitetaan uusi määrä muistipalaan.
      PokeByte playerInventory,tmpPos + 4,tmpAmount
   Else //Jos tavaraa ei ole inventoryssä.
      //Inventoryn koko. Tallennetaan muuttujaan optimoinnin takia.
      tmpSize = MEMBlockSize(playerInventory)
      
      //Jos inventoryn lopussa ON tyhjää, lisätään tavara sinne.
      If PeekInt(playerInventory,tmpSize - 5) = 0
         PokeInt playerInventory,tmpSize - 5,itemId
         PokeByte playerInventory,tmpSize - 1,amount
      Else //Muuten lisätään loppuun tyhjää ja lisätään tavara sinne.
         ResizeMEMBlock playerInventory,tmpSize + 5
         PokeInt playerInventory,tmpSize,itemId
         PokeByte playerInventory,tmpSize + 4,amount
      EndIf
   EndIf
   
EndFunction


//Tulostaa tavarat.
Function printItems()

   tmpItems = MEMBlockSize(playerInventory) / 5
   
   For k = 0 To tmpItems - 1
      i.ITEM = ConvertToType(PeekInt(playerInventory,k * 5))
      
      Print "Name: " + i\name$ + "  Price: " + i\price + "  Amount: " + PeekByte(playerInventory,k * 5 + 4)
   Next k
   
EndFunction
Locked