Tyhmät kysymykset (I/2009)
Re: Tyhmät kysymykset
Sori tuplapostaus, mut vieras ei voi muokata viestejä.
Nyt ratkasin ton ukon näkymisen ja muun omalla tavallani, mutta vielä on se et se tippuu lattian läpi ku menee taas normaaliin muotoon. Johtuuko se siitä että se eipalloobjekti menee normaaliks muututtaessa osittain lattian alle? Miten se korjataan?
Nyt ratkasin ton ukon näkymisen ja muun omalla tavallani, mutta vielä on se et se tippuu lattian läpi ku menee taas normaaliin muotoon. Johtuuko se siitä että se eipalloobjekti menee normaaliks muututtaessa osittain lattian alle? Miten se korjataan?
Re: Tyhmät kysymykset
Kun muututaan tavalliseksi hahmoksi, käynnistä looppi, jossa hahmoa siirretään ylöspäin joka kerralla. Laita looppi loppumaan kun hahmo ei törmää kentään.
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Re: Tyhmät kysymykset
Tein tuon, tuli "Integer divided by zero".Harakka wrote:Kun muututaan tavalliseksi hahmoksi, käynnistä looppi, jossa hahmoa siirretään ylöspäin joka kerralla. Laita looppi loppumaan kun hahmo ei törmää kentään.
Re: Tyhmät kysymykset
Näytäppä sitä koodiasi. Jos teit loopin oikein, tuollaista ilmoitusta ei pitäisi tulla.
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
- wilizucoder
- Member
- Posts: 81
- Joined: Sat Sep 08, 2007 11:24 pm
- Location: Espoo
- Contact:
Re: Tyhmät kysymykset
Miten saa toistettua animaation loppuun ilman, että se alkaa toistaa itseään, jos näpäytetään jotakin nappia? On vähä tyhmä kysynys, mut ei vaan tuu mieleen.
Re: Tyhmät kysymykset
Okei. Tässä:
Ja tyrkyttää Integer Divided by zeroa.
Code: Select all
Const HAHMOPAINOVOIMA = -0.1 'painoviman voimakkuus
'pienempi->suurempi pv.
'positiiviset arvot->
'painovoima ylöspäin?!
yPlus#=0 'Tämä hallitsee hyppyä
'JOS PELI TÖKKII TAI PÄTKII TAI NYKII, MUUTA:
' 1) cbSizable -> cbFullScreen
' 2) poista rivi 23
FrameLimit 40 'rajoita nopeutta
'-------------------------------------------------
'lataa kartta, siirrä sitä ylöspäin ja animoi se.
kenttä=LoadMap("bottiacademy.til","tileset.bmp")
PositionObject kenttä,0,50
PlayObject kenttä,0,0,0.5
MaskObject kenttä, cbMagenta
fontti2=LoadFont("Times New Roman",13)
SetFont fontti2
'lataa animaatiosarja oikealle, maskaa ja piilota se
oikea = LoadAnimObject("bottirun1.bmp",47,51,0,13) 'kuva oikealle juoksevasta
MaskObject oikea,cbmagenta 'magenta läpinäkyväksi
ShowObject oikea,OFF 'ja piilotetaan
ObjectRange oikea,30,51 'tämä pitää asettaa kaikkiin
vasen = LoadAnimObject("bottirun2.bmp",47,51,0,13) 'sama juttu vasemmalle
MaskObject vasen,cbMagenta
ShowObject vasen,OFF
ObjectRange vasen,30,51 'tämä pitää asettaa kaikkiin
kierivä=LoadObject("bottikierii1.bmp")
MaskObject kierivä,cbMagenta
ShowObject kierivä,OFF
kierivä=LoadAnimObject("bottikierii1.bmp",51,16,0,13)
MaskObject kierivä,cbMagenta
ShowObject kierivä,OFF
kieriväi=CloneObject (kierivä):MirrorObject (kieriväi)
MaskObject kieriväi,cbMagenta
ShowObject kieriväi,OFF
ObjectRange kierivä,51,16 'tämä pitää asettaa kaikkiin
ObjectRange kieriväi,51,16 'tämä pitää asettaa kaikkiin
piste=MakeObject()
kontrollit=1
ClsColor cbCyan
pelihahmo=CloneObject(oikea)
SetupCollision pelihahmo,kenttä,1,4,2
ObjectRange pelihahmo,30,51 'tämä pitää asettaa kaikkiin
'-------------------------------------------------
ObjectOrder pelihahmo,1
'''''''''''''''''RIPIITTI'''''''''''''''
'Pääsilmukka''''''''---------''''''''--------''''''''-------'''''''----------''''''------''''--
Repeat
'''''''''''RIPIITTI''''''''''''''''''''''''''''''
vauhti=0 'oletuksena ei liikettä
pallomuoto=0
If kontrollit=1 Then
If RightKey() Then
'juokse oikealle
PaintObject pelihahmo,oikea 'vaihda kuvaa...
suunta=6
If maassa Then PlayObject pelihahmo,2,11,0.01
vauhti=2 'vauhtia oikealle
If KeyDown(cbKeyC) Then PaintObject pelihahmo,kieriväi:pallomuoto=1
ElseIf LeftKey() Then
'juokse vasemmalle
PaintObject pelihahmo,vasen 'vaihda kuvaa...
suunta=-6
If maassa Then PlayObject pelihahmo,2,11,0.01
vauhti=-2 'vauhtia vasemmalle
If KeyDown(cbKeyC) Then PaintObject pelihahmo,kierivä:pallomuoto=1
Else
'pysäytä animaatio, jos ei liikuta
PlayObject pelihahmo,0
EndIf
'liikuta pelihahmoa
TranslateObject pelihahmo,vauhti,yPlus#
yPlus=yPlus+HAHMOPAINOVOIMA 'päivitä painovoima
UpdateGame 'päivitä törmäys
CloneCameraPosition pelihahmo 'liimaa kamera
maassa=0 'ilmassa jollei toisin käy ilmi
törmäykset=CountCollisions(pelihahmo)
'katsotaan tärmätäänkö kattoon tai lattiaan
For i=1 To törmäykset
If GetCollision(pelihahmo,i)=kenttä
'lattia
If CollisionAngle(pelihahmo,i)=90 Then
yPlus#=-1
maassa=1 'jalat on maassa
EndIf
'katto
If CollisionAngle(pelihahmo,i)=270 Then
yPlus#=-1
EndIf
EndIf
Next i
'jos ollaan ilmassa, näytä toisenlainen kuva
If törmäykset=0 Then PlayObject pelihahmo,12,0
'HYPPY (vain jos jalat maassa)
If KeyDown(cbKeyZ) And maassa Then
yPlus#=4.5 'voimaa ylös päin
If KeyDown(cbKeyS) Then
yPlus#=5.5
EndIf
EndIf
EndIf
If ObjectsOverlap(pelihahmo,kenttä,3) And pallomuoto=1 Then Repeat:TranslateObject pelihahmo,0,1:Until ObjectsOverlap(pelihahmo,kenttä,3)=0
DrawScreen
Forever
Re: Tyhmät kysymykset
Eikö SDK:n API-funktioilla pysty lukemaan liukulukua INI-tiedostosta? Tarvitsisin tätä ominaisuutta, mutta jos se ei ole mahdollista, niin pitää varmaankin laittaa INI-tiedostoon liukuluvut esimerkiksi sadasosina jotka sitten ohjelmassa muutetaan desimaaleiksi (156 -> 1.56 jne).
Re: Tyhmät kysymykset
Luet merkkijonon ja muutat sen liukuluvuksi. Pitäis toimia.regalis wrote:Eikö SDK:n API-funktioilla pysty lukemaan liukulukua INI-tiedostosta? Tarvitsisin tätä ominaisuutta, mutta jos se ei ole mahdollista, niin pitää varmaankin laittaa INI-tiedostoon liukuluvut esimerkiksi sadasosina jotka sitten ohjelmassa muutetaan desimaaleiksi (156 -> 1.56 jne).
Code: Select all
liukuluku# = Float(GetIniString(CurrentDir() + "test.ini", "section", "floatti", "1.234"))
-
- Member
- Posts: 75
- Joined: Tue Aug 28, 2007 6:59 am
Re: Tyhmät kysymykset
antakaa jokin hyvä projekti idea sitä kaipaavalle
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: Tyhmät kysymykset
Jepjep, taitotason kertominen helpottaa aina. Kaikki klassikot (autopelit, räiskinnät, tasoloikat, puzzlepelit) ovat tietysti ihan ok. projuja, mutta ehkä hieman tylsiä, moisia kun on jo ihan riittämiin. Myös vähän vaikeampaan suuntaan voi lähteä, vaikka roolipeli tai strategia, mutta ne taas vaativat työtä, taitoa ja sitkeyttä. Koita keksiä jotain todella omaperäistä, vaikka peli jossa pelataan nestepisaralla, jonka pitää laajentaa itseään yhdistymällä muihin pisaroihin. (ja tästä tulee hetken miettimisen jälkeen epäilyttävästi mieleeni katamari damacy. melkein kaikki hyvät ideat on jo keksitty.)cheeshelmet.jr wrote:antakaa jokin hyvä projekti idea sitä kaipaavalle
Re: Tyhmät kysymykset
Anteeksi, mutta en ole vielä saanut vastausta tähän.Sputnik wrote:Okei. Tässä:
Ja tyrkyttää Integer Divided by zeroa.Code: Select all
Re: Tyhmät kysymykset
En pikaisesti koodia tutkailemalla saanut vikaa selvittyä. En jaksa alkaa omien grafiikoiden kanssa vääntämään, joten jos voit yksityisviestillä heittää pelin grafiikat niin näkisin missä kohtaa virhe on.Sputnik wrote:Anteeksi, mutta en ole vielä saanut vastausta tähän.Sputnik wrote:Okei. Tässä:
Ja tyrkyttää Integer Divided by zeroa.Code: Select all
EDIT: --Editti olikin täysin väärää tietoa--
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
Re: Tyhmät kysymykset
MIKÄ IHME tässä koodissa on vikana?
Minä saan MAV in joka kerta, tuo toimii vain jos otan pickimagecolorin pois. Mikä vikana???
(Kuva ON tuossa kansiossa, se on kokoa 400x300, ja bmp muodossa)
Code: Select all
SCREEN 1024,768
kuva=LoadImage("kuva2.bmp")
imagew=ImageWidth(kuva)
imageh=ImageHeight(kuva)
f=OpenToWrite("Packed.cbi")
Lock Image(kuva)
For y=1 To imagew
For x=1 To imageh
//Kuvasta poimitaan värejä
PickImageColor2 kuva,x,y
Next x
Next y
Unlock Image(kuva)
CloseFile f
(Kuva ON tuossa kansiossa, se on kokoa 400x300, ja bmp muodossa)
Re: Tyhmät kysymykset
Sain tuon toimimaan niin, kun joka kierroksella lukitsin ja avasin puskurin. Eli:Ruuttu wrote:MIKÄ IHME tässä koodissa on vikana?
Minä saan MAV in joka kerta, tuo toimii vain jos otan pickimagecolorin pois. Mikä vikana???Code: Select all
..koodia..
(Kuva ON tuossa kansiossa, se on kokoa 400x300, ja bmp muodossa)
Code: Select all
SCREEN 1024,768
kuva=LoadImage("kuva2.bmp")
imagew=ImageWidth(kuva)
imageh=ImageHeight(kuva)
f=OpenToWrite("Packed.cbi")
For y=1 To imagew
For x=1 To imageh
Lock Image(kuva)
//Kuvasta poimitaan värejä
PickImageColor2 kuva,x,y
Unlock Image(kuva)
Next x
Next y
CloseFile f
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
Re: Tyhmät kysymykset
Yrität lukea kuvan ulkopuolelta. Kuvan vasen yläkulma on 0,0 eli sun pitää selata pikselit läpi nollasta korkeus - 1:n jne.Ruuttu wrote:MIKÄ IHME tässä koodissa on vikana?
Minä saan MAV in joka kerta, tuo toimii vain jos otan pickimagecolorin pois. Mikä vikana???Code: Select all
koodi..
(Kuva ON tuossa kansiossa, se on kokoa 400x300, ja bmp muodossa)
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: Tyhmät kysymykset
Kyllä ainakin minulla toimii läpikäynti ihan väliltä 0-imageheight() ja 0-imagewidth(). Ei sinne mitään -1:tä tarvita o: tai sitten vain koneeni ei vain valita siitä, nämä kun tuntuvat CB:llä olevan konekohtaisia..Valtzu wrote:Yrität lukea kuvan ulkopuolelta. Kuvan vasen yläkulma on 0,0 eli sun pitää selata pikselit läpi nollasta korkeus - 1:n jne.Ruuttu wrote:MIKÄ IHME tässä koodissa on vikana?
Minä saan MAV in joka kerta, tuo toimii vain jos otan pickimagecolorin pois. Mikä vikana???Code: Select all
koodi..
(Kuva ON tuossa kansiossa, se on kokoa 400x300, ja bmp muodossa)
Myös tuo koodi toimi vaihtamalla vain kuvan nimeä.
Re: Tyhmät kysymykset
yksinkertainen kysymys:
miten tehdään 3D objekteja?
miten tehdään 3D objekteja?
Koodarina kohtalainen, henkilönä vittumainen
Re: Tyhmät kysymykset
Helpoiten 3D-editorilla, mutta ihan simppeleita .obj-objekteja voi vaikka notepadillakin kirjoittaa jos oikein muistan. Blender on loistava ilmainen 3D-softa, suosittelen tutustumista jos 3D-mallinnus kiinnostaa. http://blender.org
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Re: Tyhmät kysymykset
Coolbasik SDK:ssa on myös joitakin sinulle ehkä hyödyllisiä koodeja.
Auta minun kaupunkiani: http://timppacity.myminicity.com/ind. Et menetä mitään
Re: Tyhmät kysymykset
miks Deleteobject mavittaa????
kiitän auttajia
kiitän auttajia
Code: Select all
Const PAINOVOIMA = -0.06
yPlus#=0
smaragdi=0
SCREEN 320,240,0,cbsizable
SetWindow "SMARAGDI",3
FrameLimit 40
kenttä=LoadMap("Media\Map1.til","Media\tileset.bmp")
PositionObject kenttä,0,50
PlayObject kenttä,0,0,0.5
maali=LoadObject("media\maali.bmp")
PositionObject maali,-580,-75
MaskObject maali,cbmagenta
Smaragdi=LoadObject("media\smaragdi.bmp")
MaskObject smaragdi,cbmagenta
PositionObject smaragdi,-551,-75
oikea=LoadAnimObject("Media\Ukko2.bmp",15,24,0,4)
MaskObject oikea,cbMagenta
ShowObject oikea,OFF
ObjectRange oikea,10,20
vasen=LoadAnimObject("Media\ukko1.bmp",15,24,0,4)
MaskObject vasen,cbMagenta
ShowObject vasen,OFF
ObjectRange vasen,10,20
pelihahmo=CloneObject(oikea)
SetupCollision pelihahmo,kenttä,1,4,2
ObjectRange pelihahmo,10,20
PositionObject pelihahmo,-530,-75
Repeat
vauhti=0
If RightKey() Then
PaintObject pelihahmo,oikea
If maassa Then PlayObject pelihahmo,2,11,0.25
vauhti=2
ElseIf LeftKey() Then
PaintObject pelihahmo,vasen
If maassa Then PlayObject pelihahmo,2,11,0.25
vauhti=-2
Else
PlayObject pelihahmo,0
EndIf
If ObjectsOverlap(pelihahmo,smaragdi)Then
smaragdi=1
DeleteObject smaragdi
EndIf
If ObjectsOverlap(pelihahmo,maali)And smaragdi=1 Then End
TranslateObject pelihahmo,vauhti,yPlus#
yPlus=yPlus+PAINOVOIMA
UpdateGame
CloneCameraPosition pelihahmo
maassa=0
törmäykset=CountCollisions(pelihahmo)
For i=1 To törmäykset
If GetCollision(pelihahmo,i)=kenttä
If CollisionAngle(pelihahmo,i)=90 Then
yPlus#=-1
maassa=1
EndIf
If CollisionAngle(pelihahmo,i)=270 Then
yPlus#=-1
EndIf
EndIf
Next i
If törmäykset=0 Then PlayObject pelihahmo,12,0
If KeyHit(cbKeyZ) And maassa Then
yPlus#=4.5
EndIf
DrawScreen
Until EscapeKey()