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.
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.
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ä
.
EDIT:Joo eihän siellä mitään System64 ole, vahingossa laskin luikuria
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ä
.
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.