Tyhmät kysymykset (I/2010)
Re: Tyhmät kysymykset (I/2010)
Ammukset 2 on varmaankin helpompi ja siinä käytetään tyyppejä, joista on todella paljon hyötyä kun opit lisää koodausta.
We see the lines in chalk
The warning signs in where we walk
In the shadows of the cities maze
To try and fight for better days
The warning signs in where we walk
In the shadows of the cities maze
To try and fight for better days
Re: Tyhmät kysymykset (I/2010)
Miten tuollaista sitten lähtee opettelemaan?
Re: Tyhmät kysymykset (I/2010)
kokeilet poistaa jonkin koodin pätkän ja katsot mitenkä se vaikutti. Ja kuten olenkin koko ajan hokenut, niin sieltä ohjekirjasta saa paljon apua jos jaksaa selata.Jermu wrote:Miten tuollaista sitten lähtee opettelemaan?
-
- Advanced Member
- Posts: 485
- Joined: Tue Aug 28, 2007 3:53 pm
- Location: Suomi, Finland
- Contact:
Re: Tyhmät kysymykset (I/2010)
Itse aina yritän lukea koodin läpi rivi riviltä ja yritän ymmärtää mitä tietty koodinpätkä tekee. Ja juurikin muokkailemalla eri koodin osia saa koodin toimimaan eri tavalla. Käyt kaikki harjoitukset läpi ja yrität ymmärtää miten joka ikinen koodirivi muuttaa koko ohjelman toimintaa. Sitten pitää vain osaa soveltaa sitä omiin tarkoituksiin.Jermu wrote:Miten tuollaista sitten lähtee opettelemaan?
Re: Tyhmät kysymykset (I/2010)
Anteeksi että nyt koko ajan Spämmään täälä, muttah...
Muutama kysymys, Tämän jälkeen lupaa pysyä hiljaa 1 päivän.
1. Kuinka saan ylhäältäpäin kuvatussa pelissä ukon jalat liikkumaan
2. Mistä saisin hyviä kävely/juoksu ääniä
3. Mitä Hemmettiä minun kannattais Opetella?!?!?!?
Muutama kysymys, Tämän jälkeen lupaa pysyä hiljaa 1 päivän.
1. Kuinka saan ylhäältäpäin kuvatussa pelissä ukon jalat liikkumaan
2. Mistä saisin hyviä kävely/juoksu ääniä
3. Mitä Hemmettiä minun kannattais Opetella?!?!?!?
Re: Tyhmät kysymykset (I/2010)
1.Sinun pitää tehdä ukolle animaatio. Sitä tuskin kannattaa opetella vielä.
2.http://www.coolbasic.com/res_sound.php?lang=fi sfx_fps_footsteps pitäisi olla jotain, niitä voi tietenkin myös etsiä netistä.
3.Ihan niitä Learning Center-oppitunteja mitä saa esiin painamalla F8. Myös manuaalin Tehtäviä- osio voi olla melko kehittävää perustaitojen osalta.
2.http://www.coolbasic.com/res_sound.php?lang=fi sfx_fps_footsteps pitäisi olla jotain, niitä voi tietenkin myös etsiä netistä.
3.Ihan niitä Learning Center-oppitunteja mitä saa esiin painamalla F8. Myös manuaalin Tehtäviä- osio voi olla melko kehittävää perustaitojen osalta.
We see the lines in chalk
The warning signs in where we walk
In the shadows of the cities maze
To try and fight for better days
The warning signs in where we walk
In the shadows of the cities maze
To try and fight for better days
Re: Tyhmät kysymykset (I/2010)
Jalat saat liikkumaan vaikka siniaallon avulla, funktiolla Sin() tai Cos(). Piirrät ne siis itse ukkelin koordinaatteihin, plus koordinaatteihin jotka määritellään sinillä tai kosinilla. Jos trigonometriset funktiot ovat uusi asia, kannattaa tutustua huolella siniin ja kosiniin cb:n manuaalissa sekä wikipediassa. Tässä kuitenkin esimerkki.
2. Ilmaisia äänitehosteita löytyy ympäri nettiä. En usko että kovin moni jaksaa niitä puolestasi etsiä .
3. Opettele perusasiat. Tee vaikka ylhäältä kuvattu räiskintäpeli. Älä yritä liikoja, kuten tuhatta omatekoista mappia, lukuisia eri aseita ja realistisia vihollistekoälyjä. Tee vaikka yksi oma, suurehko tilekartta, jossa pelaaja voi seikkailla ja ampua vihollisia, jotka seuraavat pelaajaa katsekontaktin saatuaan.
Jos haluat tietää, että mitä sinun kannattaisi koodauspuolella oppia, niin: funktiot ja aliohjelmat (gosub), silmukat, niiden erot ja ideat, tyyppikokoelmat, sekä lukuisat objektikomennot joita tulet tarvitsemaan. Nämä saat selville, jos et manuaalia selaamalla, niin foorumilaisilta siinä vaiheessa kun kysyt että miten jokin asia tehdään. Paras tapa oppia on koodata, koodata, koodata, ja kysyä foorumeilta.
Edit. Argh, menin kirjoittamaan kosinin c:llä. Nopea editti ennen kuin joku ehtii paheksua :S
Code: Select all
ukko = MakeImage( 20, 50 )
DrawToImage ukko
ClsColor cbGreen
Cls
Color cbRed
Box 0, 15, 20, 20
DrawToScreen
jalka = MakeImage( 20, 10 )
DrawToImage jalka
ClsColor 5, 5, 5
Cls
DrawToScreen
ClsColor cbWhite
ukkoX = ScreenWidth() / 2
ukkoY = ScreenHeight() / 2
Repeat
//Liikutetaan ukkoa nuolinäppäimistä
ukkoX = ukkoX + ( RightKey() - LeftKey() ) * 5
askelpituus = 10
nopeus = 2
//Piirretään ukko, joka koostuu kahdesta eri kuvasta: vartalosta, sekä jaloista, jotka piirretään
//toisiinsa nähden peilikuvina.
//Piirretään jalat ukon koordinaatteihin + siniaallon mukaan, koordinaattien perusteella edes takaisin. [ sin( ukkoX * nopeus ) ]
//askelpituus-muuttuja määrittää kuinka pitkälle jalka maksimissaan ulottuu. Nopeus määrittää askeleen nopeuden.
DrawImage jalka, ukkoX - ImageWidth( jalka ) / 2 - Sin( ukkoX * nopeus ) * askelpituus, ukkoY - ImageHeight( jalka ) / 2 + 20
DrawImage jalka, ukkoX - ImageWidth( jalka ) / 2 + Sin( ukkoX * nopeus ) * askelpituus, ukkoY - ImageHeight( jalka ) / 2 - 20
//Piirretään vartalo ukon koordinaatteihin.
DrawImage ukko, ukkoX - ImageWidth( ukko ) / 2, ukkoY - ImageHeight( ukko ) / 2
DrawScreen
Forever
3. Opettele perusasiat. Tee vaikka ylhäältä kuvattu räiskintäpeli. Älä yritä liikoja, kuten tuhatta omatekoista mappia, lukuisia eri aseita ja realistisia vihollistekoälyjä. Tee vaikka yksi oma, suurehko tilekartta, jossa pelaaja voi seikkailla ja ampua vihollisia, jotka seuraavat pelaajaa katsekontaktin saatuaan.
Jos haluat tietää, että mitä sinun kannattaisi koodauspuolella oppia, niin: funktiot ja aliohjelmat (gosub), silmukat, niiden erot ja ideat, tyyppikokoelmat, sekä lukuisat objektikomennot joita tulet tarvitsemaan. Nämä saat selville, jos et manuaalia selaamalla, niin foorumilaisilta siinä vaiheessa kun kysyt että miten jokin asia tehdään. Paras tapa oppia on koodata, koodata, koodata, ja kysyä foorumeilta.
Edit. Argh, menin kirjoittamaan kosinin c:llä. Nopea editti ennen kuin joku ehtii paheksua :S
Last edited by Jonez on Fri Dec 03, 2010 5:05 pm, edited 1 time in total.
Re: Tyhmät kysymykset (I/2010)
Kiitos tästä. Nyt Quiet for one day.
Re: Tyhmät kysymykset (I/2010)
Perhana. Lupasin olla hiljaa mutta tuli vielä yksi onkelma.
Kuinka ihmeessä saan kävely äänen soimaan silleen hitaasti, kun sen pitäisi soida sille ''tap tap tap'' mutta se soi sille ''ZUUUUUUUUUUUUUUUUUUUUUUUUUU''
Eli mitä tähän pitäisi lisätä?
Kuinka ihmeessä saan kävely äänen soimaan silleen hitaasti, kun sen pitäisi soida sille ''tap tap tap'' mutta se soi sille ''ZUUUUUUUUUUUUUUUUUUUUUUUUUU''
Eli mitä tähän pitäisi lisätä?
Code: Select all
ukko = LoadObject("media/guy.bmp", 72)
walk = LoadSound("Media/kavely.wav")
Repeat
If UpKey() Then MoveObject ukko, 5
If DownKey() Then MoveObject ukko, -5
If LeftKey() Then TurnObject ukko, 4
If RightKey() Then TurnObject ukko, -4
If UpKey() Then PlaySound walk, 800, 0
DrawScreen
Forever
Re: Tyhmät kysymykset (I/2010)
Käytä PlaySound-komentoa funktiona, eli lisää siihen sulut. Ota PlaySoundin palauttama arvo talteen, ja käytä sitä SoundPlaying-funktiolla tarkistukseen, onko ääni sammunut.Jermu wrote:Perhana. Lupasin olla hiljaa mutta tuli vielä yksi onkelma.
Kuinka ihmeessä saan kävely äänen soimaan silleen hitaasti, kun sen pitäisi soida sille ''tap tap tap'' mutta se soi sille ''ZUUUUUUUUUUUUUUUUUUUUUUUUUU''
Eli mitä tähän pitäisi lisätä?
Eli näin:
Code: Select all
If UpKey() Then
If SoundPlaying( sound ) = 0 Then
// Soitetaan kävelyääni vain, jos se ei ole jo soimassa.
sound = PlaySound( walk, 800, 0 )
EndIf
EndIf
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
-
- Tech Developer
- Posts: 650
- Joined: Mon Aug 27, 2007 9:51 pm
- Location: Helsinki, Finland
- Contact:
Re: Tyhmät kysymykset (I/2010)
Jermulle pienenä vinkkinä, että mikäli olet sinut IRC-viestinnän kanssa, kannattaa suuunnata #coolbasic-kanavalle IRCnet-verkossa. Siellä voit kysellä pienempiäkin kysymyksiä huoletta ryöstämättä huomiota muilta. Kannattaa myös tutkia manuaalia ja esimerkkejä aivan kaikessa rauhassa, pelkästään niitä lukemallakin olisi moni ongelmasi ratkennut.
Vaikuttaa siltä, että olet jo löytänyt oleellisia asioita, joita harjoitella, mutta annanpa tässä pari vinkkiä: ah niin tylsät ja kuivat muotoseikat kannattaa opetella heti alusta asti oikein. Koodi tulee siis kirjoittaa siististi (jotta sitä olisi mitenkään mahdollista ymmärtää joskus myöhemmin), mikä tarkoittaa mm. sisennyksen käyttöä, kuvaavia ja johdonmukaisia muuttujanimiä, koodin jaottelua lohkoiksi ja funktionaalisiki kokonaisuuksiksi sekä kommenttien lisäämistä tarpeen mukaan.
Peliohjelmoinnissa eräs hyvin tärkeä asia on osata ohjelmoida geneerisesti, eli siten, että samalla koodilla voidaan käsitellä toisiaan muistuttavia mutta silti täysin erillisiä asioita. On äärettömän hyödyllistä osata luoda peliin sisältöä (esimerkiksi vihollisia) ajonaikaisesti ja vastaavasti käsitellä luotua dataa tehokkaasti. Tämän takia tyyppikokoelmat ovat niin keskeinen osa CoolBasicia.
Vaikuttaa siltä, että olet jo löytänyt oleellisia asioita, joita harjoitella, mutta annanpa tässä pari vinkkiä: ah niin tylsät ja kuivat muotoseikat kannattaa opetella heti alusta asti oikein. Koodi tulee siis kirjoittaa siististi (jotta sitä olisi mitenkään mahdollista ymmärtää joskus myöhemmin), mikä tarkoittaa mm. sisennyksen käyttöä, kuvaavia ja johdonmukaisia muuttujanimiä, koodin jaottelua lohkoiksi ja funktionaalisiki kokonaisuuksiksi sekä kommenttien lisäämistä tarpeen mukaan.
Peliohjelmoinnissa eräs hyvin tärkeä asia on osata ohjelmoida geneerisesti, eli siten, että samalla koodilla voidaan käsitellä toisiaan muistuttavia mutta silti täysin erillisiä asioita. On äärettömän hyödyllistä osata luoda peliin sisältöä (esimerkiksi vihollisia) ajonaikaisesti ja vastaavasti käsitellä luotua dataa tehokkaasti. Tämän takia tyyppikokoelmat ovat niin keskeinen osa CoolBasicia.
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
-
- Newcomer
- Posts: 2
- Joined: Sat Dec 04, 2010 11:07 am
Re: Tyhmät kysymykset (I/2010)
Huoh. Olen aivan aloittelija pelintekijä ja tarvitsisin apua koodini kanssa. Siinä on varmasti lukuisia virheit joten jos joku vois korjata ja antaa vinkkejä niin oisin tosi kiitollinen PÄÄKYSYMYS KUITENKIN ON! Miksi luoti ei näy kun ammun? Apua!!!
Ja miten saisin kuolleen ukon poistettua ilman MAVIA? Tästä on tosi paljon hyötyä Kiitos jo etukäteen!
Ja miten saisin kuolleen ukon poistettua ilman MAVIA? Tästä on tosi paljon hyötyä Kiitos jo etukäteen!
Code: Select all
Type AMMUS 'luo kokoelma, jonka nimi on AMMUS
Field obj 'yksi kenttä nimeltään 'obj'
End Type
SCREEN 800,600,0,cbFullScreen
DrawToWorld ON 'mahdollistaa piirtämisen maailmaan
ääniAmmu = LoadSound ("Media\machine gun 1.wav")
kuolema= LoadSound("Media\scream2.wav")
lataus=LoadSound ("Media\Pistol reload.wav")
kartta = LoadMap("Media\cdm2.til","Media\tileset.bmp")
PlayObject kartta,0,0,1
ObjectPickable kartta, ON 'aseta se poimittavaksi
FrameLimit 80 'rajoita nopeutta
ukko=LoadObject("Media\soldier.bmp",72)
pati=LoadObject("Media\bullet.bmp")
Vihu=LoadObject("Media\ukkeli2.bmp")
ShowObject pati,OFF
RotateObject vihu,180
PositionObject vihu, 200, -260
ObjectInteger ukko, 100
ObjectInteger Vihu,100
ObjectInteger pati,50
ARMY=LoadFont ("Armalite Rifle",15)
SetFont ARMY
SetupCollision ukko, kartta, 1, 4, 2
SetupCollision ukko, Vihu,2,2,2
SetupCollision Vihu, kartta,1,4,2
SetupCollision Vihu, ukko,2,2,2
Color cbWhite
AddText "Nuolista ohjaa, CTRL=ampuu, Esc= Lopeta ohjelma"
AddText "ENTER = SULJE OHJEET"
Repeat
'Ohjaa ukkoa NUOLILLA
If LeftKey() Then TurnObject ukko,5
If RightKey() Then TurnObject ukko,-5
If UpKey() Then MoveObject ukko,5
If DownKey() Then MoveObject ukko,-5
UpdateGame
CloneCameraPosition ukko
DrawScreen
DrawGame 'tämä komennetaan ennen piirtokomentoja
'suorita poiminta
ObjectPick ukko
e=PickedObject()
'jos poiminta osui vihuun
If e=Vihu Then
Color cbRed
Circle PickedX()-4,PickedY()+4,8,ON
EndIf
'jos poiminta osui karttaan
If e=kartta Then
Color cbMagenta
Circle PickedX()-5,PickedY()+6,10,ON
EndIf
DrawScreen 'piirrä näyttö
If KeyHit(28) Then
ClearText
DrawScreen
EndIf
If KeyDown(cbKeyC) And reload=0 Then
luoti.AMMUS = New(AMMUS)
luoti\obj=CloneObject(pati)
CloneObjectPosition luoti\obj,ukko
CloneObjectOrientation luoti\obj,ukko
ObjectInteger pati,ObjectInteger (pati) -1
PlaySound ääniAmmu,100
reload=5 'Luodin lataus nopeus
EndIf
'päivitä aseen lataaminen
If reload>0 Then reload=reload-1
For luoti.AMMUS = Each AMMUS
MoveObject luoti\obj,7 'Luodin lento nopeus
If ObjectsOverlap (ukko,luoti\obj) Then
ObjectInteger ukko,ObjectInteger(ukko) -1'Luodin hittaus
DeleteObject luoti\obj
Delete luoti
ElseIf GetMap( 2, ObjectX(luoti\obj), ObjectY(luoti\obj) ) Then
DeleteObject luoti\obj
Delete luoti
EndIf
Next luoti
DrawGame
DrawScreen
If ObjectInteger (Vihu) = 0 Then
PlaySound kuolema,100
EndIf
If ObjectInteger (pati) =0 Then
reload=100
ObjectInteger pati,ObjectInteger (pati) +100
PlaySound lataus,100
EndIf
DrawScreen
Until EscapeKey()
-
- Devoted Member
- Posts: 718
- Joined: Wed Nov 03, 2010 7:56 pm
- Location: Joku piste pohjoisessa.
Re: Tyhmät kysymykset (I/2010)
No kannattaisokohan ensin sisentää koodi. Seuraavaksi kannattaisi kokeilla mitä tapahtuu kun pooistaa liialliset drawscreenit kummittelemasta. JA MISTÄ KUMMASTA SAIT PÄÄHÄSI ETTÄ cbKeyC OLISI CTRL?Gravedigger wrote:Huoh. Olen aivan aloittelija pelintekijä ja tarvitsisin apua koodini kanssa. Siinä on varmasti lukuisia virheit joten jos joku vois korjata ja antaa vinkkejä niin oisin tosi kiitollinen PÄÄKYSYMYS KUITENKIN ON! Miksi luoti ei näy kun ammun? Apua!!!
Ja miten saisin kuolleen ukon poistettua ilman MAVIA? Tästä on tosi paljon hyötyä Kiitos jo etukäteen!
Code: Select all
Type AMMUS 'luo kokoelma, jonka nimi on AMMUS Field obj 'yksi kenttä nimeltään 'obj' End Type SCREEN 800,600,0,cbFullScreen DrawToWorld ON 'mahdollistaa piirtämisen maailmaan ääniAmmu = LoadSound ("Media\machine gun 1.wav") kuolema= LoadSound("Media\scream2.wav") lataus=LoadSound ("Media\Pistol reload.wav") kartta = LoadMap("Media\cdm2.til","Media\tileset.bmp") PlayObject kartta,0,0,1 ObjectPickable kartta, ON 'aseta se poimittavaksi FrameLimit 80 'rajoita nopeutta ukko=LoadObject("Media\soldier.bmp",72) pati=LoadObject("Media\bullet.bmp") Vihu=LoadObject("Media\ukkeli2.bmp") ShowObject pati,OFF RotateObject vihu,180 PositionObject vihu, 200, -260 ObjectInteger ukko, 100 ObjectInteger Vihu,100 ObjectInteger pati,50 ARMY=LoadFont ("Armalite Rifle",15) SetFont ARMY SetupCollision ukko, kartta, 1, 4, 2 SetupCollision ukko, Vihu,2,2,2 SetupCollision Vihu, kartta,1,4,2 SetupCollision Vihu, ukko,2,2,2 Color cbWhite AddText "Nuolista ohjaa, CTRL=ampuu, Esc= Lopeta ohjelma" AddText "ENTER = SULJE OHJEET" Repeat 'Ohjaa ukkoa NUOLILLA If LeftKey() Then TurnObject ukko,5 If RightKey() Then TurnObject ukko,-5 If UpKey() Then MoveObject ukko,5 If DownKey() Then MoveObject ukko,-5 UpdateGame CloneCameraPosition ukko DrawScreen DrawGame 'tämä komennetaan ennen piirtokomentoja 'suorita poiminta ObjectPick ukko e=PickedObject() 'jos poiminta osui vihuun If e=Vihu Then Color cbRed Circle PickedX()-4,PickedY()+4,8,ON EndIf 'jos poiminta osui karttaan If e=kartta Then Color cbMagenta Circle PickedX()-5,PickedY()+6,10,ON EndIf DrawScreen 'piirrä näyttö If KeyHit(28) Then ClearText DrawScreen EndIf If KeyDown(cbKeyC) And reload=0 Then luoti.AMMUS = New(AMMUS) luoti\obj=CloneObject(pati) CloneObjectPosition luoti\obj,ukko CloneObjectOrientation luoti\obj,ukko ObjectInteger pati,ObjectInteger (pati) -1 PlaySound ääniAmmu,100 reload=5 'Luodin lataus nopeus EndIf 'päivitä aseen lataaminen If reload>0 Then reload=reload-1 For luoti.AMMUS = Each AMMUS MoveObject luoti\obj,7 'Luodin lento nopeus If ObjectsOverlap (ukko,luoti\obj) Then ObjectInteger ukko,ObjectInteger(ukko) -1'Luodin hittaus DeleteObject luoti\obj Delete luoti ElseIf GetMap( 2, ObjectX(luoti\obj), ObjectY(luoti\obj) ) Then DeleteObject luoti\obj Delete luoti EndIf Next luoti DrawGame DrawScreen If ObjectInteger (Vihu) = 0 Then PlaySound kuolema,100 EndIf If ObjectInteger (pati) =0 Then reload=100 ObjectInteger pati,ObjectInteger (pati) +100 PlaySound lataus,100 EndIf DrawScreen Until EscapeKey()
<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...
-
- Newcomer
- Posts: 2
- Joined: Sat Dec 04, 2010 11:07 am
Re: Tyhmät kysymykset (I/2010)
Noniin... Sisennän sen nyt . Se cbkeyC oli vahinko ja korjattu nyt...
Kiitos rakentavasta kommentista
Kiitos rakentavasta kommentista
Re: Tyhmät kysymykset (I/2010)
Minulla on pisteitä tallennettuna 3d-koordinaatteihin (x,y,z). Minulla on lisäksi kameran koordinaatit. Kuinka lasken pisteiden paikat näytöllä?
Code: Select all
Type piste
Field x
Field y
Field z
EndType
For z=1 To 100
x=0
y=0
For kulma=1 To 360
x=x+Cos(kulma)
y=y-Sin(kulma)
p.piste=New(piste)
p\z=z
p\x=x
p\y=y
Next kulma
Next z
cX=0
cY=0
cZ=0
Repeat
???
DrawScreen
Forever
Re: Tyhmät kysymykset (I/2010)
Code: Select all
zkerroin# = (1 / z#)
kerrottuX = x * zkerroin * 100 (<- ton tilalle voit laittaa minkä arvon haluat)
kerrottuY = y * zkerroin * 100
Solar Eclipse
We're in a simulation, and God is trying to debug us.
Re: Tyhmät kysymykset (I/2010)
Thx, but: Tuosta ei käy ilmi mitä pitää tehdä. Saisinko jonkun esimerkin mahdollisesti koodiini?MaGetzUb wrote:Code: Select all
zkerroin# = (1 / z#) kerrottuX = x * zkerroin * 100 (<- ton tilalle voit laittaa minkä arvon haluat) kerrottuY = y * zkerroin * 100
-
- Tech Developer
- Posts: 650
- Joined: Mon Aug 27, 2007 9:51 pm
- Location: Helsinki, Finland
- Contact:
Re: Tyhmät kysymykset (I/2010)
Purkkaa mikä purkkaa.
Protips:
1. Käytä sisennyksissä välilyöntien sijaan sarkainta (tab)
2. Määrittele muuttujien tietotyyppi
3. Käytä FVD:tä niin säästyt typobugeilta/MAVeilta
Protips:
1. Käytä sisennyksissä välilyöntien sijaan sarkainta (tab)
2. Määrittele muuttujien tietotyyppi
3. Käytä FVD:tä niin säästyt typobugeilta/MAVeilta
Code: Select all
Type piste
Field x#
Field y#
Field z#
EndType
For z=1 To 20
x#=0
y#=0
For kulma=1 To 360 Step 5
x=x+Cos(kulma)
y=y-Sin(kulma)
p.piste=New(piste)
p\z=z
p\x=x
p\y=y
Next kulma
Next z
cX#=0
cY#=0
cZ#=0
k = 5.0
Repeat
cx = cx + RightKey() - LeftKey()
cy = cy + UpKey() - DownKey()
cz = cz + 0.2(KeyDown(cbKeyA) - KeyDown(cbKeyZ))
DrawToWorld ON
For p.piste = Each piste
If (p\z-cZ) > 0 Then
zKerroin# = k/(p\z-cZ)
projX = (p\x-cX)*zKerroin#
projY = (p\y-cY)*zKerroin#
Dot projX, projY
EndIf
Next p
DrawToWorld OFF
DrawScreen
Forever
EDIT:
Oikeaan kolmedeehen tarvitsetkin jo sitten vähintäänkin matriiseja. Tässä siis ei voi pyöritellä kameraa mitenkään.
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Re: Tyhmät kysymykset (I/2010)
Kuinka voisin tehdä peliin healthpointteja niin, että ne lisäisivät pelaajan elämiä esim. 50 p, ja sitten lääkepaketti katoaisi? Nyt käy niin, että elämät kasvavat loputtomasti aina, kun olen lääkepaketin päällä. Ja koodipätkä:
Code: Select all
If ObjectsOverlap (player, elkku,2) Then Health +1
-
- Devoted Member
- Posts: 718
- Joined: Wed Nov 03, 2010 7:56 pm
- Location: Joku piste pohjoisessa.
Re: Tyhmät kysymykset (I/2010)
Code: Select all
'koodia...
elkku1=CloneObject elkku 'Kloonit
elkku2=CloneObject elkku
PositionObject elkku1,200,200
PositionObject elkku2,0,400
'koodia+silmukan aloitus...
If ObjectsOverlap (player,elkku1,2) Then
Health=Health+1
DeleteObject elkku1
EndIf
If ObjectsOverlap (player,elkku2,2) Then
Health=Health+10
DeleteObject elkku2
EndIf '2 elkku antaa +10 ja 1 elkku+1
'koodia+silmukan loppu...
<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...