Tyhmät kysymykset (I/2010)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
jesperx96
Active Member
Posts: 190
Joined: Sun Nov 23, 2008 9:35 am
Location: Lappajärvi

Re: Tyhmät kysymykset (I/2010)

Post by jesperx96 »

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
Jermu
Newcomer
Posts: 7
Joined: Wed Dec 01, 2010 8:25 pm

Re: Tyhmät kysymykset (I/2010)

Post by Jermu »

Miten tuollaista sitten lähtee opettelemaan?
User avatar
Frozen
Advanced Member
Posts: 282
Joined: Fri Jan 01, 2010 4:46 pm
Location: Suomi

Re: Tyhmät kysymykset (I/2010)

Post by Frozen »

Jermu wrote:Miten tuollaista sitten lähtee opettelemaan?
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. :D
Image
Työn alla:
Jotakin epäjulkaistua
tuhoojabotti
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 3:53 pm
Location: Suomi, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by tuhoojabotti »

Jermu wrote:Miten tuollaista sitten lähtee opettelemaan?
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. ;)
Imagedev.tuhoojabotti.com — “Programmer (noun): An organism that turns caffeine into code.”
Jermu
Newcomer
Posts: 7
Joined: Wed Dec 01, 2010 8:25 pm

Re: Tyhmät kysymykset (I/2010)

Post by Jermu »

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?!?!?!? :?:
jesperx96
Active Member
Posts: 190
Joined: Sun Nov 23, 2008 9:35 am
Location: Lappajärvi

Re: Tyhmät kysymykset (I/2010)

Post by jesperx96 »

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.
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
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Tyhmät kysymykset (I/2010)

Post by Jonez »

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.

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
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
Last edited by Jonez on Fri Dec 03, 2010 5:05 pm, edited 1 time in total.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
Jermu
Newcomer
Posts: 7
Joined: Wed Dec 01, 2010 8:25 pm

Re: Tyhmät kysymykset (I/2010)

Post by Jermu »

Kiitos tästä. Nyt Quiet for one day.
Jermu
Newcomer
Posts: 7
Joined: Wed Dec 01, 2010 8:25 pm

Re: Tyhmät kysymykset (I/2010)

Post by Jermu »

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ä?

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  
 
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by valscion »

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ä?
Käytä PlaySound-komentoa funktiona, eli lisää siihen sulut. Ota PlaySoundin palauttama arvo talteen, ja käytä sitä SoundPlaying-funktiolla tarkistukseen, onko ääni sammunut.
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
SPuntte
Tech Developer
Tech Developer
Posts: 650
Joined: Mon Aug 27, 2007 9:51 pm
Location: Helsinki, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by SPuntte »

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.
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES

CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Gravedigger
Newcomer
Posts: 2
Joined: Sat Dec 04, 2010 11:07 am

Re: Tyhmät kysymykset (I/2010)

Post by Gravedigger »

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()

naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 7:56 pm
Location: Joku piste pohjoisessa.

Re: Tyhmät kysymykset (I/2010)

Post by naputtelija »

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()

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?
<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...
Gravedigger
Newcomer
Posts: 2
Joined: Sat Dec 04, 2010 11:07 am

Re: Tyhmät kysymykset (I/2010)

Post by Gravedigger »

Noniin... Sisennän sen nyt :D. Se cbkeyC oli vahinko ja korjattu nyt...
Kiitos rakentavasta kommentista :D
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2010)

Post by DJ-Filbe »

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
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: Tyhmät kysymykset (I/2010)

Post by MaGetzUb »

Code: Select all

zkerroin# = (1 / z#)
kerrottuX = x * zkerroin * 100 (<- ton tilalle voit laittaa minkä arvon haluat)
kerrottuY = y * zkerroin * 100 
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2010)

Post by DJ-Filbe »

MaGetzUb wrote:

Code: Select all

zkerroin# = (1 / z#)
kerrottuX = x * zkerroin * 100 (<- ton tilalle voit laittaa minkä arvon haluat)
kerrottuY = y * zkerroin * 100 
Thx, but: Tuosta ei käy ilmi mitä pitää tehdä. Saisinko jonkun esimerkin mahdollisesti koodiini?
SPuntte
Tech Developer
Tech Developer
Posts: 650
Joined: Mon Aug 27, 2007 9:51 pm
Location: Helsinki, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by SPuntte »

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

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
User avatar
Akuji
Member
Posts: 60
Joined: Fri Oct 08, 2010 5:59 pm
Location: Turku

Re: Tyhmät kysymykset (I/2010)

Post by Akuji »

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
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 7:56 pm
Location: Joku piste pohjoisessa.

Re: Tyhmät kysymykset (I/2010)

Post by naputtelija »

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...
Locked