Page 3 of 50

Re: Tyhmät kysymykset (I/2011)

Posted: Thu Jan 27, 2011 9:47 pm
by valscion
mika132 wrote:Nyt kun tuohon ns. Mustaan taustaan tulostuu minulla tekstiä melkoisen suuri määrä niin olisi hyvä, jos saisin tehtyä niin, että tuo muuttuisi "rullattavaksi" tai että kamera liikkuisi alaspäin tietynmäärän koko ajan.

Siis kun koodini on netti dataa jotka liitetään AddText "" komennolla
Tee iiiiso kuva MakeImage()-funktiolla ja piirrä Text-komennolla nettisivustolta saamasi tavara kyseiseen kuvaan. Sitten voit vain liikutella kuvaa ympäriinsä ja näin käyttää "kameraa". Joudut kuitenkin muuttamaan kuvan alotuskoordinaatteja, ellet tee siitä objektia - jos teet objektin, niin se MoveCamera toimisi.

Re: Tyhmät kysymykset (I/2011)

Posted: Fri Jan 28, 2011 8:54 am
by Paroni
Mitenköhän tekisin hotspotin karttaan johon generoidaan esim. 5 vihollista? Ja kuinka saan viholliset spawnaamaan niin, etteivät ole toistensa päällä?

Re: Tyhmät kysymykset (I/2011)

Posted: Fri Jan 28, 2011 12:49 pm
by Jonez
Puhutko nyt tilekartoista?

Näin saat vihollisen haluttuun kohtaan:
Käy koko kartta läpi

Code: Select all

for x = 1 to MapWidth()
for y ...

next x
next y
ja tarkasta kartan datatiedot GetMap2-funktiolla.

Jos törmätään tileen jossa on haluttu data-arvo, luodaan vihollinen, katsotaan tilen maailmakoordinaatit ja asetetaan tälle tilelle. Tilen datakerrosta voi muokata sekä tile-editorilla, että CB:llä itsellään. Esimerkkejä tilekoordinaattien muuttamisesta kuva- tai maailmakoordinaatteihin löytyy ympäri foorumia.

Näin estät päällekkäisyydet:
Luo viholliset käyttäen tyyppejä (ks. Type manuaalista, sekä oppitunti 18). Kun vihollinen luodaan, luodaan tyyppikokoelmaan uusi jäsen. Luonnin yhteydessä (esim. juuri ennen luontia) käydään kaikki vihu-jäsenet läpi, ja olemassa olevien objektien koordinaatteja luontikoordinaatteihin. Jos objektit ovat liian lähellä toisiaan, ei luontia tapahdu, tai objekti luodaan toiseen paikkaan.

Re: Tyhmät kysymykset (I/2011)

Posted: Sat Feb 05, 2011 2:52 pm
by Eräs Vierailija
Tervehdys taas pitkästä aikaa.

Kiintolevyni heitti veivinsä vähän aikaa sitten, ja sen mukana kaikki CB-tiedostoni. Olin joskus ladannut tämän, ja juuri nyt kun sitä tarvitsisin, latauslinkki on siirtynyt manan majoille. Onko tuota mahdollista saada enää mistään?

Re: Tyhmät kysymykset (I/2011)

Posted: Sat Feb 05, 2011 7:53 pm
by Vieraas
Voisiko joku selittää minulle repeat/exit/forever -komentojen käyttämisen seuraavanlaisessa esimerkkikoodissa, kun en sitä ole koskaan oppinut tuollaisessa käyttämään? Kaikki CB:n manuaalit ja oppaat olen käynyt läpi mutta silti ei jotenkin meikäläisen päähän mene... :-/

Code: Select all

AddText "Oletko noob?"
AddText " (1) Kyllä"
AddText " (2) Ei"
DrawScreen
If KeyHit (2) Then
Goto kylla
EndIf
If KeyHit (3) Then
Goto ei
EndIf
Forever

kylla:

ClearText
AddText "OIKEESTI?!!"
AddText "(1) JOO!!"
AddText "(2) En, huijasin"
DrawScreen
If KeyHit (2) Then
Goto kylla11
EndIf
If KeyHit (3) Then
Goto kylla12
EndIf

ei:

ClearText
AddText "Really?"
AddText "(1) Joo"
AddText "(2) No en..."
DrawScreen
If KeyHit (2) Then
Goto ei11
EndIf
If KeyHit (3) Then
Goto ei12
EndIf

ei11:

ClearText
AddText "Hävisit"
DrawScreen
WaitKey


ei12:

ClearText
AddText "Voitit pelin"
DrawScreen
WaitKey


kylla11:

ClearText
AddText "Hävisit"
DrawScreen
WaitKey


kylla12:

ClearText
AddText "Hävisit"
DrawScreen
WaitKey

Re: Tyhmät kysymykset (I/2011)

Posted: Sat Feb 05, 2011 7:55 pm
by DJ-Filbe
Vieraas wrote:Voisiko joku selittää minulle repeat/exit/forever -komentojen käyttämisen seuraavanlaisessa esimerkkikoodissa, kun en sitä ole koskaan oppinut tuollaisessa käyttämään? Kaikki CB:n manuaalit ja oppaat olen käynyt läpi mutta silti ei jotenkin meikäläisen päähän mene... :-/

Code: Select all

AddText "Oletko noob?"
AddText " (1) Kyllä"
AddText " (2) Ei"
DrawScreen
If KeyHit (2) Then
Goto kylla
EndIf
If KeyHit (3) Then
Goto ei
EndIf
Forever

kylla:

ClearText
AddText "OIKEESTI?!!"
AddText "(1) JOO!!"
AddText "(2) En, huijasin"
DrawScreen
If KeyHit (2) Then
Goto kylla11
EndIf
If KeyHit (3) Then
Goto kylla12
EndIf

ei:

ClearText
AddText "Really?"
AddText "(1) Joo"
AddText "(2) No en..."
DrawScreen
If KeyHit (2) Then
Goto ei11
EndIf
If KeyHit (3) Then
Goto ei12
EndIf

ei11:

ClearText
AddText "Hävisit"
DrawScreen
WaitKey


ei12:

ClearText
AddText "Voitit pelin"
DrawScreen
WaitKey


kylla11:

ClearText
AddText "Hävisit"
DrawScreen
WaitKey


kylla12:

ClearText
AddText "Hävisit"
DrawScreen
WaitKey
Kun ohjelma kohtaa Forever -lauseen, se hyppää välittömästi edelliseen Repeat -lauseeseen. Exit hyppää seuraavan Forever- tai Until -lauseen yli. Siinä kaikki.

Re: Tyhmät kysymykset (I/2011)

Posted: Sat Feb 05, 2011 7:59 pm
by ItzRaines

Code: Select all

If MouseHit(1) And reload=0 Then    
luoti.AMMUS = New(AMMUS)
luoti\obj=CloneObject(pati) 
  
CloneObjectPosition luoti\obj,ukko                
  
CloneObjectOrientation luoti\obj,ukko            
reload=25        
EndIf
 
If reload>0 Then reload=reload-1

For luoti.AMMUS = Each AMMUS
MoveObject luoti\obj,15
If ObjectX(luoti\obj)<-1400 Or ObjectX(luoti\obj)>1400 Or ObjectY(luoti\obj)<-1400 Or ObjectY(luoti\obj)>1400 Then
               
DeleteObject luoti\obj
Delete luoti
EndIf        
Next luoti
Mikä vikana, kun hiiren 1 painiketta painaessa peräkkäin saattaa ampua vain sen 2-3 kertaa?
Hetken junnaa tyhjää vaikka painan ja sitten taas ampuu.

Re: Tyhmät kysymykset (I/2011)

Posted: Sat Feb 05, 2011 9:56 pm
by DJ-Filbe
EXE Writer overflow?

Re: Tyhmät kysymykset (I/2011)

Posted: Sat Feb 05, 2011 11:23 pm
by Hene
DJ-Filbe wrote:EXE Writer overflow?
Olet käyttänyt liian isoja lukuja muuttujissa? Itselläni ainakin heittää tuolloin saman errorin.
EDIT:

Esim.

Code: Select all

A=999999999999999999999999999999*9
B=99999999999999999999999999*9
Print A+B
[/edit]

Re: Tyhmät kysymykset (I/2011)

Posted: Sun Feb 06, 2011 8:23 pm
by ItzRaines
1. Millaisella koodilla olisi mahdollista saada poimittua tietokoneen suoritinkäytön, jonka voisi sitten piirtää ruudulle?
Onko mahdollista mitenkään?

2. Kuinka luon oman fontin? Olisi käytössä digitaalilook- fontti numerot 0-9. Olisi tarkoitus käyttää tätä kirjoituksessa.
Kuinka saan asetettua sen käytettäväksi fontiksi?

Re: Tyhmät kysymykset (I/2011)

Posted: Sun Feb 06, 2011 10:20 pm
by Latexi95
ItzRaines wrote:1. Millaisella koodilla olisi mahdollista saada poimittua tietokoneen suoritinkäytön, jonka voisi sitten piirtää ruudulle?
Onko mahdollista mitenkään?

2. Kuinka luon oman fontin? Olisi käytössä digitaalilook- fontti numerot 0-9. Olisi tarkoitus käyttää tätä kirjoituksessa.
Kuinka saan asetettua sen käytettäväksi fontiksi?
1. Jonkunlaisella dll-systeemillä voisi onnistua...

2. Sen verran hankalaa että kannattaa mielummin tehdä oma tekstin piirto funktio joka käyttää kuvia fontistasi. Täältä foorumeilta kyllä löytyy valmiitakin systeemeitä sitä varten joten kannattanee kokeilla hakua.

Re: Tyhmät kysymykset (I/2011)

Posted: Mon Feb 07, 2011 1:09 am
by JATothrim
ItzRaines wrote:1. Millaisella koodilla olisi mahdollista saada poimittua tietokoneen suoritinkäytön, jonka voisi sitten piirtää ruudulle?
Onko mahdollista mitenkään?

2. Kuinka luon oman fontin? Olisi käytössä digitaalilook- fontti numerot 0-9. Olisi tarkoitus käyttää tätä kirjoituksessa.
Kuinka saan asetettua sen käytettäväksi fontiksi?
Wanhalla CoolBasicilla 1. on mahdoton, ellet kirjoita omaa DLL kirjastoa siihen.
2. on varsin mahdollinen, joko kaivat netistä aidon fonttieditorin jolla saa luotua LoadFont():n tukemia fonttitiedostoja, tai käytät ns. "kuvafonttia" ja piirrät tekstin itse. Esimerkki koodeissa taisi olla varsin tuore tapaus kuvafonteista.
EDIT:

tupla vastaus.. :( Kumpa foorumisoftassa olisi ominaisuus, joka näyttäisi välittömästi kaikille ketjua lukeville: "<nimimerkki> on kirjoittamassa tälle viestille jatkoa" viestin alla. Lainaa-nappi tökkäisi tämän oletuksellisesti päälle.


Re: Tyhmät kysymykset (I/2011)

Posted: Mon Feb 07, 2011 5:10 pm
by ItzRaines
Miksei FPS näy pelissäni, vaikka lisään sen siihen ohjeiden mukaan ja olen yrittänyt kaikkia muuttujia. Mutta ei sitä silti ole ilmestynyt ruutuun. Missä vika?
Mitään erroriakaan se ei heitä...

Re: Tyhmät kysymykset (I/2011)

Posted: Mon Feb 07, 2011 5:23 pm
by Latexi95
ItzRaines wrote:Miksei FPS näy pelissäni, vaikka lisään sen siihen ohjeiden mukaan ja olen yrittänyt kaikkia muuttujia. Mutta ei sitä silti ole ilmestynyt ruutuun. Missä vika?
Mitään erroriakaan se ei heitä...
Vähän paha sanoa kun ei nää koodia, mutta jos laitat silmukkaasi tämän niin pitäisi näkyä...

Code: Select all

Color cbWhite //Siltä varalta että väri sattuisi olemaan taustanvärinen
Text 10,10,"FPS:"+FPS()

Re: Tyhmät kysymykset (I/2011)

Posted: Mon Feb 07, 2011 5:29 pm
by ItzRaines
Jooh nyt toimii, en vain ollut huomannut laittaa silmukkaan. Oli jäänyt ulkopuolelle kaiken muun "Addtext" hölskän kanssa. :oops:

Re: Tyhmät kysymykset (I/2011)

Posted: Tue Feb 08, 2011 6:17 pm
by Peltsi
ItzRaines wrote: 2. Kuinka luon oman fontin? Olisi käytössä digitaalilook- fontti numerot 0-9. Olisi tarkoitus käyttää tätä kirjoituksessa.
Kuinka saan asetettua sen käytettäväksi fontiksi?
Ainakin Windows XP:ssä on System32 (jos 64bit versio niin System64) kansiossa eudcedit.exe niminen fonttieditori. Kokeile sitä jos saisit sillä fonttis väsättyä :D .
EDIT:

Joo eihän siellä mitään System64 ole, vahingossa laskin luikuria :D


Re: Tyhmät kysymykset (I/2011)

Posted: Tue Feb 08, 2011 7:52 pm
by TheDuck
Peltsi wrote:
ItzRaines wrote: 2. Kuinka luon oman fontin? Olisi käytössä digitaalilook- fontti numerot 0-9. Olisi tarkoitus käyttää tätä kirjoituksessa.
Kuinka saan asetettua sen käytettäväksi fontiksi?
Ainakin Windows XP:ssä on System32 (jos 64bit versio niin System64) kansiossa eudcedit.exe niminen fonttieditori. Kokeile sitä jos saisit sillä fonttis väsättyä :D .
Mulla ainakin on 64-bittinen käyttis ja prossu, mutta silti se on system32.

Re: Tyhmät kysymykset (I/2011)

Posted: Tue Feb 08, 2011 10:35 pm
by Paroni
Jonez wrote:*snip*
Aa okei kiitosta vain. En olekaan vielä tuohon data -kerrokseen kerennyt tutustua.

Perään kuitenkin uutta probleemaa. Olen nyt jonkin aikaa kranaateilla leikkinyt ja päätin kokeilla liittää siihen kimmoisuuden käyttäen CollisionAngle esimerkkiä. Muuten ihan hyvin toimii, mutta kun liikun tarpeeksi kauas aloituskohdasta, kranaatit alkavat ilmestyä juuri siitä kohdasta mistä mappi alkaa (katso liite).

Tässä vielä koodi:

Code: Select all

If grenades >0 Then
    If KeyHit (cbkeyQ) Then
        'grenades = grenades -1
        kranaatti.Kranaatit = New (Kranaatit)
        kranaatti\obj = CloneObject (Kranaattipohja)
        SetupCollision kranaatti\obj, kartta01, 2, 4, 1
        ResetObjectCollision kranaatti\obj
        CloneObjectPosition kranaatti\obj, pelaaja
        CloneObjectOrientation kranaatti\obj, pelaaja
        kranaatti\plusx# = Cos (ObjectAngle (kranaatti\obj)) *6
        kranaatti\plusy# = Sin (ObjectAngle (kranaatti\obj)) *6
        kranaatti\aika = 60
    EndIf
EndIf

For kranaatti.Kranaatit = Each Kranaatit
        TranslateObject kranaatti\obj, kranaatti\plusx#, kranaatti\plusy#
        TurnObject kranaatti\obj, 40
        If CountCollisions (kranaatti\obj) Then
            angle = CollisionAngle (kranaatti\obj, 1)
            If angle = 0 Or angle = 180 Then
                kranaatti\plusx# = -kranaatti\plusx#
            EndIf
            If angle = 90 Or angle = 270 Then
                kranaatti\plusy# = -kranaatti\plusy#
            EndIf
            TranslateObject kranaatti\obj, kranaatti\plusx#, kranaatti\plusy#
        EndIf
        kranaatti\aika = kranaatti\aika -1
        If kranaatti\aika = 0 Then
            DeleteObject kranaatti\obj
            Delete kranaatti
        EndIf
Next kranaatti
Mistäköhän vois johtua :?

Re: Tyhmät kysymykset (I/2011)

Posted: Tue Feb 08, 2011 11:00 pm
by Jonez
Kokeile laittaa ResetObjectCollision CloneObjectPositionin jälkeen. Kokeilin toistaa virheesi omalla koodilla (muokattu oppitunnista 11):

Code: Select all

FrameLimit 40 'rajoita nopeutta

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

cow = LoadObject( "media\cow.bmp" )
ShowObject cow, OFF

Type lehmat
    Field obj
EndType

Repeat

    'Ukon ohjaus
    If LeftKey() Then TurnObject ukko,5
    If RightKey() Then TurnObject ukko,-5
    If UpKey() Then MoveObject ukko,2
    If DownKey() Then MoveObject ukko,-2

    If KeyHit( CbKeyReturn ) Then
        nl.lehmat = New( lehmat )
        nl\obj = CloneObject( cow )
        ResetObjectCollision nl\obj
        CloneObjectPosition nl\obj, ukko
        SetupCollision nl\obj, kartta, 2, 4, 1
        
    EndIf
    
    ll.lehmat = Last( lehmat )
    If ll <> NULL Then
        ll = Last( lehmat )
        if CountCollisions( ll\obj ) <> 0 Then MakeError "F"
    EndIf
    
    UpdateGame

    CloneCameraPosition ukko


    DrawScreen

Forever
Edit. pieni huomautus vielä, että törmäystä ei tapahdu vaikka ResetObjectCollision olisi ennen objektin siirtämistä, jos törmäystunnistus on 2, 4, 2. Taas näitä cb:n hienouksia.

Re: Tyhmät kysymykset (I/2011)

Posted: Wed Feb 09, 2011 8:19 am
by Paroni
Nonnih, toimii ^^ Kiitos.