Oletko varma, että muuttujasi on tyyppiä String?DumBasZ wrote:Minulla on funktiossa muuttujassa tekstiä, mutta se ei tule ruudulle näkyviin. Kaikki muu funktiossa oleva toimii, tekstiä lukuun ottamatta.
Tyhmät kysymykset (I/2010)
Re: Tyhmät kysymykset (I/2010)
-
- Member
- Posts: 55
- Joined: Fri Apr 30, 2010 10:55 pm
Re: Tyhmät kysymykset (I/2010)
en saa tuota scriptiä toimimaan haluutko että lähetän sourcen ja kerrot missä vika?
-
- Tech Developer
- Posts: 650
- Joined: Mon Aug 27, 2007 9:51 pm
- Location: Helsinki, Finland
- Contact:
Re: Tyhmät kysymykset (I/2010)
Jos ilmaisisit asian vähän tarkemmin, olisi huomattavasti helpompi yrittää heittää hatusta valistuneita arvauksia ongelmasi syistä.DumBasZ wrote:Minulla on funktiossa muuttujassa tekstiä, mutta se ei tule ruudulle näkyviin. Kaikki muu funktiossa oleva toimii, tekstiä lukuun ottamatta.
Todennäköisesti yrität siis tulostaa tekstiä näytölle. Tai ainakaan ilman sitä teksti ei tule näytöllä näkymään. Riippuen tulostuskomennosta teksti piirtyy joko suoraan näytölle tai näyttöpuskuriin, joka piirretään näytölle DrawScreenillä.
Mikäli tulostuskomento on...
- Print, piirtyy teksti suoraan näytölle, ja yksikin DrawScreen sen jälkeen pyyhkii tekstin välittömästi pois.
- Text, näkyy teksti heti DrawScreen-kutsun jälkeen. Se kuitenkin katoaa seuraavan DrawScreenin kohdalla, mikäli Text-komentoa ei suoriteta uudestaan joka keralla.
- AddText, säilyy teksti näytöpuskurissa siihen asti, kun komennetaan ClearText. Tosin AddText'illä lisättykin teksti vaatii DrawScreenin ilmestyääkseen näkyviin.
Mikäli edellinen ei tuonut ratkaisua, tarkista seuraavat asiat:
- merkkijonomuuttuja tulee määritellä erityisesti merkkijonotyyppiseksi joko lisämällä muuttujan perään $-merkki tai käyttämällä Dim...As -rakennetta (Dim munMerkkijono As String).
- Mikäli muuttuja on alustettu funktion ulkopuolella, se näkyy funktiossa vain, jos se on määritelty globaaliksi (Global gMunMerkkijono As String). Poikkeuksena parametrina välitetyt arvot, joiden tyypit tulee myös määritellä (Function -avainsanan jälkeisessä parametrilistassa) edellisessä kohdassa kuvatulla tavalla. HUOM! Globaalin muuttujan perään ei saa merkitä tyyppitunnistetta (%, # tai $).
- mikäli Force Variable Declaration (Project-valikossa) on pois päältä (oletus), CB ei valita mahdollisista määrittelemättömistä ja väärin kirjoitetuista muuttujanimistä. Tarkista oikeinkirjoitus ja tyyppimäärittelyt.
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
-
- Member
- Posts: 55
- Joined: Fri Apr 30, 2010 10:55 pm
Re: Tyhmät kysymykset (I/2010)
voisiko joku ystävällisesti tarkistaa tän ja kertoo miten mun pitää jatkaa että saan tän nii et "pelihahmo" törmää kaikkeen mustaan ja siniseen "mapissa".
Code: Select all
ClsColor cbwhite
SCREEN 800,600
SetWindow "cb rpg",0, "like you have something better To do!"
FrameLimit 40
mappi=LoadImage("media\rpgmappi1.png")
ukko=LoadObject("media\ukkeli1.png",180)
ShowObject ukko,OFF
ObjectString ukko, player
pelihahmo=CloneObject(ukko)
PositionObject pelihahmo, -50,0
Repeat
DrawImage mappi, 0, 0
If UpKey() Then MoveObject pelihahmo, 5
If DownKey() Then MoveObject pelihahmo, -5
If LeftKey() Then TurnObject pelihahmo, 5
If RightKey() Then TurnObject pelihahmo, -5
objAngle = ObjectAngle(pelihahmo)
objX = ObjectX(pelihahmo) + Cos(objAngle) * ObjectSizeX(pelihahmo)
objY = ObjectY(pelihahmo) + Sin(objAngle) * ObjectSizeY(pelihahmo)
PickImageColor mappi, objx, objy
If getRGB(RED) = 0 And getRGB(GREEN) = 0 And getRGB(BLUE) = 255 Then
move = False
Else
move = True
EndIf
"tästä eteenpäin en tiedä mitä tehdä...
DrawScreen
Until EscapeKey()
Re: Tyhmät kysymykset (I/2010)
Vaikka näin:oblivios_tha_koodari wrote:voisiko joku ystävällisesti tarkistaa tän ja kertoo miten mun pitää jatkaa että saan tän nii et "pelihahmo" törmää kaikkeen mustaan ja siniseen "mapissa".
Code: Select all
SCREEN 800,600
//tässä vain luodaan kuva kun en tiedä millaista tarvit
mappi=MakeImage(800,600)
DrawToImage mappi
Color cbwhite
Box 0,0,800,600,1
For i=0 To 10
x=Rand(800)
y=Rand(600)
Color 0,0,Rand(1)*255
Box x,y,50,50,1
Next i
DrawToScreen
ukko=LoadObject("media\guy.bmp",180)
ShowObject ukko,OFF
ObjectString ukko, player
pelihahmo=CloneObject(ukko)
Repeat
//itselläni coolbasic ei suostu piirtämään ruudunkokoisia kuvia koordinaatteihin 0,0
DrawImage mappi, 1, 0
//muuttujaan tallennetaan liikkumisen tarve
move=(UpKey()-DownKey())*5
//käännetään yhdellä komennolla
TurnObject pelihahmo, (LeftKey()-RightKey())*5
ang#=ObjectAngle(pelihahmo)
//poimitaan ukkelin edestä, muistetaan muuntaa maailmakoordinaatit ruutukoordinaateiksi
PickImageColor mappi,ObjectX(pelihahmo)+ScreenWidth()/2+Cos(ang#)*move,-ObjectY(pelihahmo)+ScreenHeight()/2-Sin(ang#)*move
//Jos punainen ja vihreä nollissa niin törmätään, sinisen arvolla ei väliä.
//Ei jäädä jumiin, koska törmäys tarkistetaan ennenkuin liikutaan tarvittava määrä,
//muussa tapauksessa nollataan liikkumisen tarve
If getRGB(RED) = 0 And getRGB(GREEN) = 0 Then move = 0 Else MoveObject pelihahmo, move
DrawScreen
Until EscapeKey()
-
- Member
- Posts: 55
- Joined: Fri Apr 30, 2010 10:55 pm
Re: Tyhmät kysymykset (I/2010)
kitti mutta tuli taas ongelma vastaan...
se mun hahmo jää aina seinien sisään ja sitte se ei reagoi mitenkään siniseen vaikka mitä kokeilin...
no ehkä koitan tehä aluks jotain simppelimpää niinku jonku point and click pelin...
se mun hahmo jää aina seinien sisään ja sitte se ei reagoi mitenkään siniseen vaikka mitä kokeilin...
no ehkä koitan tehä aluks jotain simppelimpää niinku jonku point and click pelin...
Re: Tyhmät kysymykset (I/2010)
Älä ny luovuta, minulla se ei jäänyt seiniin kiinni, kokeilleppa vielä ohjelma...oblivios_tha_koodari wrote:kitti mutta tuli taas ongelma vastaan...
se mun hahmo jää aina seinien sisään ja sitte se ei reagoi mitenkään siniseen vaikka mitä kokeilin...
no ehkä koitan tehä aluks jotain simppelimpää niinku jonku point and click pelin...
-
- Member
- Posts: 55
- Joined: Fri Apr 30, 2010 10:55 pm
Re: Tyhmät kysymykset (I/2010)
taidan tietää miks se jää seiniin kiinni...
ku se mun pelihahmo o semmone et siin o kolme palloa ja sit ku tietyssä kulmassa menee kohti seinää se jää kiinni siihen
ku se mun pelihahmo o semmone et siin o kolme palloa ja sit ku tietyssä kulmassa menee kohti seinää se jää kiinni siihen
Re: Tyhmät kysymykset (I/2010)
Hmm..
Olikohan CB:ssä ollut mahdollista tehdä sisäkkäisiä funktioita?
Olikohan CB:ssä ollut mahdollista tehdä sisäkkäisiä funktioita?
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: Tyhmät kysymykset (I/2010)
Jos tarkoitat funktiota, joka kutsuu funktiota, luonnollisesti. Muuta järkevää merkitystä en tuolle oikeastaan keksikään, sisäkkäin määrittelystä ei hyötyisi kuin näkyvyysalueiden verran ja koodi olisi todennäköisesti jokseenkin sekavaa.DJ-Nerd wrote:Hmm..
Olikohan CB:ssä ollut mahdollista tehdä sisäkkäisiä funktioita?
Re: Tyhmät kysymykset (I/2010)
Tarkoitin sisäkkäinmäärittelyä...koodaaja wrote:Jos tarkoitat funktiota, joka kutsuu funktiota, luonnollisesti. Muuta järkevää merkitystä en tuolle oikeastaan keksikään, sisäkkäin määrittelystä ei hyötyisi kuin näkyvyysalueiden verran ja koodi olisi todennäköisesti jokseenkin sekavaa.DJ-Nerd wrote:Hmm..
Olikohan CB:ssä ollut mahdollista tehdä sisäkkäisiä funktioita?
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: Tyhmät kysymykset (I/2010)
Ei ole mahdollista. Ja sen logiikka on muutenkin hämyinen - voiko funktion sisällä määriteltyä funktiota kutsua vain ulomman sisältä ja mitä ylipäänsä tapahtuu funktioita kutsuttaessa.
Re: Tyhmät kysymykset (I/2010)
Osaisiko joku neuvoa kuinka spatial hashing tekniikan saa implementoitua CoolBasiciin.
Olen katsonut neuvoa oheisesta linkistä, mutta tuntuu että taulukko tyypit eivät vain taivu tuohon. C++ homma olisi helppoa mutta en osaa vielä käyttää kaikki CoolBasicin kikkoja.
http://conkerjo.wordpress.com/2009/06/1 ... ollisions/
Toinen kysymys liittyy miten alentaa gravitaation mallinnuksen kompleksisuus luokkaa O((n^2)/2 -n ). Brute force ei jaksa 150 kappaletta enempää pyörittää. Kiihtyvyyksien päivitys vain kuin on muulta laskennalta aikaa kävi mielessä mutta tämä johtaisi tyhmiin ongelmiin kuten kuun karkaamiseen planeetalta ainakin kone nykäisee.
Ohessa yksinkertaistetty malli fysiikka moottorista ja demona tatteja paino voimalla + törmäystarkistuksella.
const maxromu arvoa säätämällä huomaa että kovin on rajoitettu bruteforce.
Myös optimointi kooditasolla auttaa mutta lähinnä algoritmitason parannuksia tässä kaivataan.
Olen katsonut neuvoa oheisesta linkistä, mutta tuntuu että taulukko tyypit eivät vain taivu tuohon. C++ homma olisi helppoa mutta en osaa vielä käyttää kaikki CoolBasicin kikkoja.
http://conkerjo.wordpress.com/2009/06/1 ... ollisions/
Toinen kysymys liittyy miten alentaa gravitaation mallinnuksen kompleksisuus luokkaa O((n^2)/2 -n ). Brute force ei jaksa 150 kappaletta enempää pyörittää. Kiihtyvyyksien päivitys vain kuin on muulta laskennalta aikaa kävi mielessä mutta tämä johtaisi tyhmiin ongelmiin kuten kuun karkaamiseen planeetalta ainakin kone nykäisee.
Ohessa yksinkertaistetty malli fysiikka moottorista ja demona tatteja paino voimalla + törmäystarkistuksella.
const maxromu arvoa säätämällä huomaa että kovin on rajoitettu bruteforce.
Code: Select all
FrameLimit 40
SCREEN 800,600,0,1
Type romu
Field obj
Field massa As Integer
Field suuntaX As Float
Field SuuntaY As Float
Field sade As Integer
Field kimmo As Float
End Type
Randomize Timer()
tatti = LoadObject("media/tatti.bmp")
tattisade As Float = ((ObjectSizeX(tatti) + ObjectSizeY(tatti)) Shr 2)
ShowObject tatti,OFF
Const maxromut = 100
For i = 1 To Maxromut
Gosub satunnaisromu
Next i
Const gra = 0.01
Repeat
ClearText
AddText "FPS:" +FPS()
For iromu.romu= Each romu
TranslateObject iromu\obj, iromu\suuntaX, iromu\suuntaY
Gosub romufysiikka
Next iromu
DrawScreen ON,ON
Until KeyHit(1)
'tuhoa objektit ja new varatut jutut
For iromu.romu= Each romu
DeleteObject iromu\obj
Delete iromu
Next iromu
ClearObjects
End
satunnaisromu:
newromu.romu= New(romu)
newromu\obj=CloneObject(tatti)
newromu\sade = tattisade
newromu\massa = tattisade*tattisade*tattisade
TranslateObject newromu\obj, Rnd(-300,300),Rnd(-300,300)
newromu\suuntaX = Rnd(-1,1)
newromu\suuntay = Rnd (-1,1)
newromu\kimmo = 0.85
Return
romufysiikka:
'Alkuperäiskoodista kiitos SPUNTE:lle
'lisätty gravitaatio ja optimoitu hieman
For jromu.romu= Each romu
If jromu > iromu Then
x# = ObjectX(jromu\obj) - ObjectX(iromu\obj)
y# = ObjectY(jromu\obj) - ObjectY(iromu\obj)
rsumma# = iromu\sade + jromu\sade //Pallojen säteiden summa
etaisyys# = x#*x# + y#*y#
jana# = Sqrt(etaisyys#)
If jana# <= rsumma# Then
inopeus# = (iromu\suuntaX*x# + iromu\suuntaY*y#)/jana# //Pallojen nopeudet projisoituna yhdysjanavektorille
jnopeus# = (jromu\suuntaX*x# + jromu\suuntaY*y#)/jana#
nopeuserotus# = inopeus# - jnopeus# //Pallojen suhteellisen nopeuden yhdysjanan suuntainen komponentti
//Tarkistetaan, liikkuvatko pallot toisiaan kohti (suhteellinen nopeus positiivinen)
If nopeuserotus# > 0 Then
kimmot# = iromu\kimmo*jromu\kimmo //Pallojen yhdistetty kimmokerroin
//Uusi nopeus laskettuna liikemäärän säilymislain ja restituutiokertoimen avulla
vn1# = (iromu\massa*inopeus# + jromu\massa*jnopeus# - jromu\massa*kimmot#*nopeuserotus#)/(iromu\massa + jromu\massa)
vn2# = (iromu\massa*inopeus# + jromu\massa*jnopeus# + iromu\massa*kimmot#*nopeuserotus#)/(iromu\massa + jromu\massa)
unitX# = x#/jana# //Yhdysjanan suuntainen yksikkövektori
unitY# = y#/jana#
v1diff# = vn1# - inopeus# //Nopeuksien erotus ennen ja jälkeen törmäyksen (skalaari)
v2diff# = vn2# - jnopeus#
iromu\suuntaX = iromu\suuntaX + (v1diff#*unitX#)
iromu\suuntaY = iromu\suuntaY + (v1diff#*unitY#)
jromu\suuntaX = jromu\suuntaX + (v2diff#*unitX#)
jromu\suuntaY = jromu\suuntaY + (v2diff#*unitY#)
EndIf
Else
unitX# = x# / jana#
unitY# = y# / jana#
g1dx# = unitX# * (Gra * jromu\massa) / etaisyys#
g1dy# = unitY# * (Gra * jromu\massa) / etaisyys#
g2dx# = -unitX# * (Gra * iromu\massa) / etaisyys#
g2dy# = -unitY# * (Gra * iromu\massa) / etaisyys#
iromu\suuntaX = iromu\suuntaX + g1dx#
iromu\suuntaY = iromu\suuntaY + g1dy#
jromu\suuntaX = jromu\suuntaX + g2dx#
jromu\suuntaY = jromu\suuntaY + g2dy#
EndIf
EndIf
Next jromu
Return
-
- Tech Developer
- Posts: 650
- Joined: Mon Aug 27, 2007 9:51 pm
- Location: Helsinki, Finland
- Contact:
Re: Tyhmät kysymykset (I/2010)
Mielenkiintoisia kysymyksiä hybridiltä...
En pastea koko koodiani tähän, koska se ei toimi, mutta ideoita voin antaa. Itse yhdistelin tyyppejä ja muistipaloja, jotka korvasivat dynaamiset taulukot. Tiivistetaulu (hash table), jota käsittelin tyyppi-instanssina, sisältää muistipalassa kaikki tilaruudukon solut (jotka ovat tyyppi-instansseja) peräkkäin. Solut tottelevat linkkaamassasi artikkelissa siis nimeä kori (bucket).
Vastaavasti korissa on muistipala, joka sisältää kaikki solussa sijaitsevat kappaleet (niiden tyyppi-instanssien id:t). Kun hash table päivitetään, kannattaa myös listata kappaleiden tiedot minkä kaikkien solujen alueella objekti on ja/tai mitä muita kappaleita näissä soluissa, jolloin on nopeaa tarkistaa, onko kappale a kappaleen b kanssa samassa solussa.
Koko homman pointti piilee siinä, että muistipalan sisältöön voi viitata samaan tapaan lineaarisesti kuin yksiulotteiseen taulukkoon, jolloin siihen voi tiivistää (hashata) 2D-ruudukon.
Ja noin huomiona demostasi voisin sanoa, että tarvitset impulssien lisäksi (ne hoitavat kimmoisat törmäykset, kun nopeutta on riittävästi) jonkin algoritmin, joka estää kappaleita vajoamasta toisiinsa.
Itse yritin toteuttaa täsmälleen samaa systeemiä, ja se jossain määrin toimikin, mutta lopulta koko systeemi kaatui outohin virheilmoituksiin, joiden syyksi epäilen CB:tä, en niinkään koodiani.hybrid wrote:Osaisiko joku neuvoa kuinka spatial hashing tekniikan saa implementoitua CoolBasiciin.
Olen katsonut neuvoa oheisesta linkistä, mutta tuntuu että taulukko tyypit eivät vain taivu tuohon. C++ homma olisi helppoa mutta en osaa vielä käyttää kaikki CoolBasicin kikkoja.
http://conkerjo.wordpress.com/2009/06/1 ... ollisions/
En pastea koko koodiani tähän, koska se ei toimi, mutta ideoita voin antaa. Itse yhdistelin tyyppejä ja muistipaloja, jotka korvasivat dynaamiset taulukot. Tiivistetaulu (hash table), jota käsittelin tyyppi-instanssina, sisältää muistipalassa kaikki tilaruudukon solut (jotka ovat tyyppi-instansseja) peräkkäin. Solut tottelevat linkkaamassasi artikkelissa siis nimeä kori (bucket).
Vastaavasti korissa on muistipala, joka sisältää kaikki solussa sijaitsevat kappaleet (niiden tyyppi-instanssien id:t). Kun hash table päivitetään, kannattaa myös listata kappaleiden tiedot minkä kaikkien solujen alueella objekti on ja/tai mitä muita kappaleita näissä soluissa, jolloin on nopeaa tarkistaa, onko kappale a kappaleen b kanssa samassa solussa.
Koko homman pointti piilee siinä, että muistipalan sisältöön voi viitata samaan tapaan lineaarisesti kuin yksiulotteiseen taulukkoon, jolloin siihen voi tiivistää (hashata) 2D-ruudukon.
Valitettavasti tuohon ei ole ratkaisua, mikäli et halua karsia simulaation realistisuudesta. Analyyttisesti homma ei onnistu, kuten täältäkin ilmenee. Spatial hashing -tekniikan avulla olisi toki mahdollista rakentaa approksimaatio, jossa poimitaan vain riittävän pienellä etäisyydellä olevat kappaleet ja lasketaan ainoastaan niiden aiheuttamat vetovoimat.hybrid wrote:Toinen kysymys liittyy miten alentaa gravitaation mallinnuksen kompleksisuus luokkaa O((n^2)/2 -n ). Brute force ei jaksa 150 kappaletta enempää pyörittää. Kiihtyvyyksien päivitys vain kuin on muulta laskennalta aikaa kävi mielessä mutta tämä johtaisi tyhmiin ongelmiin kuten kuun karkaamiseen planeetalta ainakin kone nykäisee.
Ja noin huomiona demostasi voisin sanoa, että tarvitset impulssien lisäksi (ne hoitavat kimmoisat törmäykset, kun nopeutta on riittävästi) jonkin algoritmin, joka estää kappaleita vajoamasta toisiinsa.
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)
Kiitos vastauksesta, sain jonkin verran uusia ideoita.
http://en.wikipedia.org/wiki/Fast_multipole_method
Löysin vielä gravitaation mallintamiseen uuden metodin. Tuosta voisi saada apua mutta vaikuttaa liki mahdottomalta coolBasicille ja loppujen lopuksi toimisi vain aproksimaationa vaikkakin hyvänä sellaisena.
http://en.wikipedia.org/wiki/Fast_multipole_method
Löysin vielä gravitaation mallintamiseen uuden metodin. Tuosta voisi saada apua mutta vaikuttaa liki mahdottomalta coolBasicille ja loppujen lopuksi toimisi vain aproksimaationa vaikkakin hyvänä sellaisena.
Re: Tyhmät kysymykset (I/2010)
Code: Select all
SCREEN 800,600,32,1
FrameLimit 30
Dim unit(200)
'''''''''''''''''''TÄMÄ ON ALLA OLEVAN TILALLA KOSKA KENTTA.PNG:TÄ EI OLE MUILLA'''''''''''''''''''''''''
kentta=MakeImage(2400,600)
tausta=LoadImage("media/level.bmp")
DrawToImage kentta
DrawImage tausta,0,0
DrawImage tausta,800,0
DrawImage tausta,1600,0
DrawToScreen
HotSpot kentta
'''''''''''''''''''TÄMÄ ON ALLA OLEVAN TILALLA KOSKA KENTTA.PNG:TÄ EI OLE MUILLA'''''''''''''''''''''''''
'kentta=LoadImage("files/kentta.png"):HotSpot kentta
kamera1kuva=MakeImage(800,600)
kamera2kuva=MakeImage(800,600)
Repeat
DrawToWorld ON,ON,ON
DrawImage kentta,0,0
DrawToWorld OFF,OFF,OFF
Gosub kamerat
DrawScreen
Forever
kamerat:
If LeftKey() Then kamera1-20
If RightKey() Then kamera1+20
If kamera1<-1000 Then kamera1=-1000
If kamera1>1000 Then kamera1=1000
PositionCamera kamera1,0
UpdateGame
DrawToImage kamera1kuva
Cls
DrawGame
DrawToScreen
If KeyDown(cbkeya) Then kamera2-20
If KeyDown(cbkeyd) Then kamera2+20
If kamera2<-1000 Then kamera2=-1000
If kamera2>1000 Then kamera2=1000
PositionCamera kamera2,0
UpdateGame
DrawToImage kamera2kuva
Cls
DrawGame
DrawToScreen
'PositionCamera 2251235,23542356
DrawImage kamera1kuva,0,0
'DrawImageBox kamera1kuva,400,0,200,0,400,600
'DrawImageBox kamera2kuva,0,0,200,0,400,600
'CopyBox 200,300,400,600,400,0,Image(kamera1kuva),SCREEN()
'CopyBox 200,300,400,600,0,0,Image(kamera2kuva),SCREEN()
Return
Ja nuo kommenteiksi muutetut rivit ovat jotain aiempia yrityksiäni. Jostain syystä tuossa tuo tavallinen drawimagekaan edes ei toimi
Älä anna taustan hämätä! pistin siihen vain jotain ettei tarvistsisi laittaa kuvaa tänne!
EDIT:
Vasen pelaaja a ja d, oikea pelaaja, nuolet
Valmiit pelit: House of Horrors , Battle Zone , Über Ball , Itdoti , Space Chaos , Bloxxplosives ☺
Projekti jota teen ehkä joskus vielä: viewtopic.php?f=11&t=2636 <-- Tämä rivi päivitetty 14.1.2013
Projekti jota teen ehkä joskus vielä: viewtopic.php?f=11&t=2636 <-- Tämä rivi päivitetty 14.1.2013
- Nameless_One
- Member
- Posts: 63
- Joined: Fri Mar 26, 2010 4:05 pm
Re: Tyhmät kysymykset (I/2010)
Miten tehdään seuraavanlainen systeemi:
Pelissä on objekti, jolla on kädet, jalat, pää ja keho. Jos klikataan vaikka ny päätä, tulee teksti "Headshot". Jos klikataan jalkoja, niin objekti horjahtaa/kaatuu.
Ja muillakin kehonosilla olisi oma toiminto klikkauksen yhteydessä.
Pelissä on objekti, jolla on kädet, jalat, pää ja keho. Jos klikataan vaikka ny päätä, tulee teksti "Headshot". Jos klikataan jalkoja, niin objekti horjahtaa/kaatuu.
Ja muillakin kehonosilla olisi oma toiminto klikkauksen yhteydessä.
Projektit:
Semmonen jännä tasoloikka
Youtube-kanavani
Uusin video: Pelataas LoZ Oracle of Seasons - Osa 14 - Tarm Rauniot
Semmonen jännä tasoloikka
Youtube-kanavani
Uusin video: Pelataas LoZ Oracle of Seasons - Osa 14 - Tarm Rauniot
-
- Member
- Posts: 55
- Joined: Fri Apr 30, 2010 10:55 pm
Re: Tyhmät kysymykset (I/2010)
Nameless_One wrote:Miten tehdään seuraavanlainen systeemi:
Pelissä on objekti, jolla on kädet, jalat, pää ja keho. Jos klikataan vaikka ny päätä, tulee teksti "Headshot". Jos klikataan jalkoja, niin objekti horjahtaa/kaatuu.
Ja muillakin kehonosilla olisi oma toiminto klikkauksen yhteydessä.
lue manuaalista kohdat pickedobject, objectpickable,playanimation,stopanimation,
elikkä minun mielestäni helpoin tapa tuo toteuttaa olisi että aina kun klikkaat sitä tiettyä kohtaa alkaisi animaatio pyörimään ja kun se on pyörinyt se taas resettaantuisi.
en itse tiedä miten tuon toteuttaa mutta manuaalia selaamalla noista kohdista ja päättelemällä kyllä selviää. jos on vielä sen jälkeen epäselvää kysy joltakin minua viisaammalta
sitten oma ongelmani miten saisin tehtyä peliin jossa on jokaisella sivulla sekä ylhäällä ja alhaalla valkoiset laatikot niin törmäysefektin ja painovoiman?
tässä source:
Code: Select all
FrameLimit 40
Const gravity = 2
SCREEN 800, 600
SetWindow "trance platformer", 0,"NOOO!!! dont go... :("
music=LoadSound("tetris techno remix.mp3")
PlaySound music
ballX# = 50
ballY# = 20
boxx# = 800
boxy# = 100
boxx2#=100
boxy2#=700
Repeat
Color cbwhite
Box 0, 500, boxx , boxy, 1
Box 0, 0, boxx2, boxy2
Box 700, 0, boxx2, boxy2
Box 0, 0, boxx , boxy, 1
PickColor boxx - ballx, boxy - bally
If getRGB( RED ) = 255 And getRGB( GREEN )=255 And getRGB( BLUE )=255 Then
coll = True
ballY = mapY
bmY# = 0
Else
coll = False
EndIf
If coll = False Then
bmY + GRAVITY
EndIf
If coll And KeyHit( CbKeySpace ) Then
coll = False
bmY = -2
EndIf
bmX# = bmX + ( RightKey() - LeftKey() ) * 0.2
ballX = ballX + bmX
ballY = ballY + bmY
Color cbpurple
Circle ballX - -50, ballY - -300, 10
DrawScreen
Forever
edit:sitte tuli semmonen ongelma toisessa projektissani että kun yritän laittaa että vain kun on tietty määrä rahaa voi ostaa tavaran mutta jos on vähemmän rahaa ja yrittää ostaa se heittää memory acces violation...
Re: Tyhmät kysymykset (I/2010)
Tuon saat toteutettua näin:oblivios_tha_koodari wrote:edit:sitte tuli semmonen ongelma toisessa projektissani että kun yritän laittaa että vain kun on tietty määrä rahaa voi ostaa tavaran mutta jos on vähemmän rahaa ja yrittää ostaa se heittää memory acces violation...
Code: Select all
rahat = 0
tonttu = 0
Repeat
Text 0, 0, "Paina 1 ostaaksesi tontun, maksaa 156 rahaa"
Text 0, 13, "Paina 2 hankkiaksesi lisää rahaa"
Text 0, 26, "Rahat: "+rahat
Text 0, 39, "Tonttu: "+tonttu
If KeyHit(cbkey2) Then rahat+10
If KeyHit(cbkey1) Then
If rahat > 155 Then
Rahat -156
Tonttu +1
Else
MakeError "Memory access violation"
EndIf
EndIf
DrawScreen
Forever
Re: Tyhmät kysymykset (I/2010)
Srsly nao :DChaosworm wrote:Code: Select all
Else MakeError "Memory access violation"