Tyhmät kysymykset (I/2011)
Re: Tyhmät kysymykset (I/2011)
Joo nyt kaikki näkyi ihan selvästi, kun oli 1024x768. Ainoastaan numerot menivät ruudun sivuille piiloon, joka kyllä korjautuisi niitä siirtämällä. Tarkoitus kuitenkin olisi saada sellainen screen -asetus, että millä tahansa resoluutiolla olevan koneen näytöllä ohjelma toimisi oikein ja kaikki olisi oikeilla kohdillaan, koska tietokonekohtaisesti säätäminen ei tässä projektissa tule olemaan mahdollista.
Re: Tyhmät kysymykset (I/2011)
Melkein vakio on 800, 600 tai 600, 400. Ne toimii varmasti jokaisessa läppärissä. Laite jompi kumpi niistä fullscreenille ja sen jälkeen sijoita oikeisiin numerot. Sitten se toimii jokaisssa koneessa.ItzRaines wrote:Joo nyt kaikki näkyi ihan selvästi, kun oli 1024x768. Ainoastaan numerot menivät ruudun sivuille piiloon, joka kyllä korjautuisi niitä siirtämällä. Tarkoitus kuitenkin olisi saada sellainen screen -asetus, että millä tahansa resoluutiolla olevan koneen näytöllä ohjelma toimisi oikein ja kaikki olisi oikeilla kohdillaan, koska tietokonekohtaisesti säätäminen ei tässä projektissa tule olemaan mahdollista.
Re: Tyhmät kysymykset (I/2011)
Veikkaan että legend tarkoittaa toisella resoluutiolla 640,480. Sekin on kyllä jo niin pieni että uusimmat koneet eivät ehkä suostu näyttämään niin pientä resoluutiota.legend wrote:Melkein vakio on 800, 600 tai 600, 400. Ne toimii varmasti jokaisessa läppärissä. Laite jompi kumpi niistä fullscreenille ja sen jälkeen sijoita oikeisiin numerot. Sitten se toimii jokaisssa koneessa.ItzRaines wrote:Joo nyt kaikki näkyi ihan selvästi, kun oli 1024x768. Ainoastaan numerot menivät ruudun sivuille piiloon, joka kyllä korjautuisi niitä siirtämällä. Tarkoitus kuitenkin olisi saada sellainen screen -asetus, että millä tahansa resoluutiolla olevan koneen näytöllä ohjelma toimisi oikein ja kaikki olisi oikeilla kohdillaan, koska tietokonekohtaisesti säätäminen ei tässä projektissa tule olemaan mahdollista.
Kannattaa vaikka tarkistaa GFXModeExists-funktiolla onko resoluutio tuettu, niin ei ainakaan kaadu ohjelma. Sitten voi siirtää ja muuttaa kaikkia kokoja verrattuna siihen normaaliresoon. Esimerkiksi jos ohjelma on suunniteltu toimimaan resoluutiolla 1024x768, saat sen skaalautumaan oikein kun kerrot kaikki x-koordinaatit arvolla (ScreenWidth()/1024) ja y-koordinaatit arvolla (ScreenHeight()/768). Tarpeen tullen kannattaa käyttää Float-komentoa muuttamaan luvut liukuluvuiksi - fonttien kohdalla taas se ei onnistu ja jos CB ei suostu kääntämään noita arvoja niin koita käyttää Float:n sijaan Int-komentoa.
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 (I/2011)
EN olisi muuten kehanut kysyy mut kerta täällä on tälläinenkin yksinkertainen aihe niin olen juuri tässä menneen viikon aikana käynnyt nuo aloittelijan oppitunnit ja väkertäny noita tehtäviä mutta en osannu ratkassa esimerkiksi tota a3 jonka tehtävä anto on "Kirjoita ohjelma, joka vilkuttaa jotain tekstiä ruudulla tyyliin "päällä/pois". Vilkkuminen tapahtuu puolen sekunnin välein." en vaa saa keksittyy mitää kun en varmaa osaa kikkailla tuolla timer() komennolla kun en oikeen tajua pitääkö ne luvut siis laittaa tuon sulkeen sisää vai pitääkö käyttää jtn "timer()>500" komentoa vai miten se toimii. Antakaa mulle esimerkkiä jos nyt joku kehta avaivautuu että saisin laajennettua ymmärrystäni tästä ohjelmasta enemmän ja enemmän =)
ps. jos on jossain noihi kaikkiin tehtäviin joku oikkeitten ratkasujen sivu niin ohjaisitteko minut sinne ^^
ps. jos on jossain noihi kaikkiin tehtäviin joku oikkeitten ratkasujen sivu niin ohjaisitteko minut sinne ^^
Re: Tyhmät kysymykset (I/2011)
viewtopic.php?f=12&t=1162 <-Täältä löytyy tehtävät ratkaistuna. (Nuo taitavat olla melko optimoituja, joten voi näyttää oudolta.)Compaqi wrote:EN olisi muuten kehanut kysyy mut kerta täällä on tälläinenkin yksinkertainen aihe niin olen juuri tässä menneen viikon aikana käynnyt nuo aloittelijan oppitunnit ja väkertäny noita tehtäviä mutta en osannu ratkassa esimerkiksi tota a3 jonka tehtävä anto on "Kirjoita ohjelma, joka vilkuttaa jotain tekstiä ruudulla tyyliin "päällä/pois". Vilkkuminen tapahtuu puolen sekunnin välein." en vaa saa keksittyy mitää kun en varmaa osaa kikkailla tuolla timer() komennolla kun en oikeen tajua pitääkö ne luvut siis laittaa tuon sulkeen sisää vai pitääkö käyttää jtn "timer()>500" komentoa vai miten se toimii. Antakaa mulle esimerkkiä jos nyt joku kehta avaivautuu että saisin laajennettua ymmärrystäni tästä ohjelmasta enemmän ja enemmän =)
ps. jos on jossain noihi kaikkiin tehtäviin joku oikkeitten ratkasujen sivu niin ohjaisitteko minut sinne ^^
Mutta miten sinun pitää tehdä, on ottaa Timer() loopin ulkopuolella muuttujaan talteen ja tarkistat, että jos timerin ja muuttujan erotus on yli 500. Ja jos on niin päivitetään myös se muuttuja nykyiseen Timerin arvoon. Timer() palauttaa arvon joka kertoo kauanko kone on ollut päällä millisekunneissa, joten siksi näin.
Tässä osittain ratkaisu tehtävään:
Re: Tyhmät kysymykset (I/2011)
Olisiko jotain C++ dll-zydeemiä tarjota jollakin millä voisi puskuroida äänen sisääntuloliitäntää ja käsitellä sitä? Esim. voisi tehdä jonkinlaisen äänitysohjelman... Toteutuskielenä siis coolbasic & dll
Re: Tyhmät kysymykset (I/2011)
Olen viime aikoina harjoitellut animaatioiden tekemistä nopeasti väsätyllä animoidulla versiolla CB:n oletusgrafiikoiden car.bmp -tiedostosta. Saan animoinnin kyllä toimimaan loadanimimage -käskyllä, mutta en objektimuodossa. Voisiko joku vilkaista?
Code: Select all
FrameLimit 40
'Load the map
'themap=LoadImage("Media/map.bmp")
'Load an animated image
'Frame size is 30,25 \ start at the first \ 2 frames total
cow=LoadAnimObject("music\car\ACar.bmp", 87, 47, 0, 2, 150)
'Default Position
x=200:y=150
While Not EscapeKey()
'Upadte controls
LoopObject cow
If LeftKey() Then TurnObject cow,3
If RightKey() Then TurnObject cow,-3
If UpKey() Then MoveObject cow,3
If DownKey() Then MoveObject cow,-3
'Fraw the map
' DrawImage themap,0,0
'Draw the cow
' DrawImage cow,x,y,cowframe
'Animate through frames 0 and 1
If TIMER()>cowtimer+100 Then 'animate every 100 millisecs
cowframe=cowframe+1
If cowframe>1 Then cowframe=0
cowtimer=TIMER()
EndIf
DrawScreen
Wend
End
"Baby," I said. "I'm a genius but nobody knows it but me."
Re: Tyhmät kysymykset (I/2011)
Miksi koitat piirtää objektia? Et voi piirtää objekteja (edes animoituja), anna DrawScreenin tai DrawGamen hoitaa se.Hene wrote:Olen viime aikoina harjoitellut animaatioiden tekemistä nopeasti väsätyllä animoidulla versiolla CB:n oletusgrafiikoiden car.bmp -tiedostosta. Saan animoinnin kyllä toimimaan loadanimimage -käskyllä, mutta en objektimuodossa. Voisiko joku vilkaista?
Code: Select all
FrameLimit 40 'Load the map 'themap=LoadImage("Media/map.bmp") 'Load an animated image 'Frame size is 30,25 \ start at the first \ 2 frames total cow=LoadAnimObject("music\car\ACar.bmp", 87, 47, 0, 2, 150) 'Default Position x=200:y=150 While Not EscapeKey() 'Upadte controls LoopObject cow If LeftKey() Then TurnObject cow,3 If RightKey() Then TurnObject cow,-3 If UpKey() Then MoveObject cow,3 If DownKey() Then MoveObject cow,-3 'Fraw the map ' DrawImage themap,0,0 'Draw the cow ' DrawImage cow,x,y,cowframe 'Animate through frames 0 and 1 If TIMER()>cowtimer+100 Then 'animate every 100 millisecs cowframe=cowframe+1 If cowframe>1 Then cowframe=0 cowtimer=TIMER() EndIf DrawScreen Wend End
AnimObject toimii samanlailla kuin normaali objekti. Ainoastaan lataamisessa pitää antaa muutama ylimääräinen parametri sekä objekti pitää animoida PlayObjectilla tai LoopObjectilla. Siinä se.
Re: Tyhmät kysymykset (I/2011)
Moi! Olen tekemässä ylhäältäkuvattua räiskintäpeliä, mutta en tiedä miten saan viholliset kuolemaan kun heihin osuu panos. Olisiko vastausta?
Re: Tyhmät kysymykset (I/2011)
Riippuu siitä miten haluat niiden kuolevan. Miten olet viholliset toteuttanut?Potiro wrote:Moi! Olen tekemässä ylhäältäkuvattua räiskintäpeliä, mutta en tiedä miten saan viholliset kuolemaan kun heihin osuu panos. Olisiko vastausta?
Typeillä homma menisi niin, että käyt tyyppikokoelman läpi For...Each -rakenteella ja tarkistat, osuuko panos vihuun (objectsoverlap) ja jos osuu, poistat objectin (DeleteObject).
Re: Tyhmät kysymykset (I/2011)
Ja muista poistaa myös tyypin jäsen(Delete) MAVien välttämisekseksi. Ja laita poistaminen aina For -Each silmukan loppuun.DJ-Filbe wrote:Riippuu siitä miten haluat niiden kuolevan. Miten olet viholliset toteuttanut?Potiro wrote:Moi! Olen tekemässä ylhäältäkuvattua räiskintäpeliä, mutta en tiedä miten saan viholliset kuolemaan kun heihin osuu panos. Olisiko vastausta?
Typeillä homma menisi niin, että käyt tyyppikokoelman läpi For...Each -rakenteella ja tarkistat, osuuko panos vihuun (objectsoverlap) ja jos osuu, poistat objectin (DeleteObject).
Re: Tyhmät kysymykset (I/2011)
Voisiko jompikumpi antaa koodiesimerkin???
Tai kuka tahansa
Tai kuka tahansa
Re: Tyhmät kysymykset (I/2011)
Tässäpä varsin simppeli koodi siihen sinun tarkoitukseen. Tein tämän nyt energian kanssa, että opit senkin samalla.
Käytän koodissani suoraa viittausta vihollisobjektiin, niin ei tarvitse tutkia, miltä objektilta vähennetään energiaa päällekkäisillä for-silmukoilla. =) Tämä nopeuttaa koodia paljon.
Käytän koodissani suoraa viittausta vihollisobjektiin, niin ei tarvitse tutkia, miltä objektilta vähennetään energiaa päällekkäisillä for-silmukoilla. =) Tämä nopeuttaa koodia paljon.
Code: Select all
Type Vihut
Field obj
End Type
Type AMMUS
Field obj
End Type
SCREEN 800, 600
ukko=LoadObject("Media\soldier.bmp",72)
vihu = LoadObject("Media\guy.BMP")
pati=LoadObject("Media\bullet.bmp")
ShowObject pati,OFF
ShowObject vihu, OFF
AddText "Nuolista ohjaa, CTRL=ampuu"
//Luodaan viholliset, tehdään niitä 10
For i = 0 To 10
pahis.Vihut = New(Vihut)
pahis\obj = CloneObject(Vihu)
SetupCollision ukko, pahis\obj, 2, 2, 2
PositionObject pahis\obj,Rand(-400, 400), Rand(-300, 300)
ObjectFloat pahis\obj, 100 'Asetetaan pahikselle energia
Next i
Repeat
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 KeyDown(cbKeyRControl) And reload=0 Then
luoti.AMMUS = New(AMMUS)
luoti\obj=CloneObject(pati)
CloneObjectPosition luoti\obj,ukko
CloneObjectOrientation luoti\obj,ukko
For pahis.Vihut = Each Vihut
SetupCollision luoti\obj, pahis\obj, 2, 2, 2
Next pahis
reload=5
EndIf
If reload>0 Then reload=reload-1
//Panosten peruspäivitys
For luoti.AMMUS = Each AMMUS
MoveObject luoti\obj,6
If CountCollisions(luoti\obj) Then 'Johonkin törmättiin, sen täytyi olla vihollinen..
törmättyobjekti = GetCollision(luoti\obj, 1)
energia# = ObjectFloat(törmättyobjekti) 'Tutkitaan törmätyn objektin energia-arvo ja otetaan muuttuja (energia# <-) talteen.
uusienergia# = energia# - 10 '"tehdään" uusi energia-arvo, eli energia muuttujasta vähennetään kymmenen.
ObjectFloat törmättyobjekti, uusienergia 'Asetetaan törmätylle objektille uusi energia-arvo.
DeleteObject luoti\obj
Delete luoti
//Jos ei törmätty mihinkään, ja luoti jatkoi ruudun ulkopuolelle niin... tuhotaan se.
ElseIf ObjectX(luoti\obj)<-400 Or ObjectX(luoti\obj)>400 Or ObjectY(luoti\obj)<-300 Or ObjectY(luoti\obj)>300 Then
DeleteObject luoti\obj
Delete luoti
EndIf
Next luoti
DrawGame
//Vihollisten läpikäynti
For pahis.Vihut = Each Vihut
//Piirretään pahikselle energia
DrawToWorld 0, 0, ON
CenterText ObjectX(pahis\obj), ObjectY(pahis\obj), ObjectFloat(pahis\obj), 2
DrawToWorld 0, 0, OFF
//Joe vihollisen energia-arvo on tasan tai meni alle nollan, niin tuhotaan vihollinen.
If ObjectFloat(pahis\obj) =< 0 Then
DeleteObject pahis\obj
Delete pahis
EndIf
Next Pahis
DrawScreen
Until EscapeKey()
Solar Eclipse
We're in a simulation, and God is trying to debug us.
Re: Tyhmät kysymykset (I/2011)
Kiitos tuosta!
Re: Tyhmät kysymykset (I/2011)
Miten saan auton silleen et se ei käänny paikallaan?
Re: Tyhmät kysymykset (I/2011)
Teet muuttujan sen nopeudelle, sitten suurennat tai pienennät sitä muuttujaa sen mukaan, mitä näppäimiä painetaan tai ei paineta, sitten liikutat autoa sen mukaan, mikä sen muuttujan suuruus on, sitten siinä vaiheessa kun käännät autoa, käännät sitä vain jos nopeus on enemmän kuin 0.Potiro wrote:Miten saan auton silleen et se ei käänny paikallaan?
Kannattaa käyttää CurveValuea.
Re: Tyhmät kysymykset (I/2011)
Miten saan viholliset ampumaan ja liikkumaan?
- -Z-
- Devoted Member
- Posts: 682
- Joined: Tue Aug 28, 2007 3:33 pm
- Location: In ur danmaku, grazin ur bullets
Re: Tyhmät kysymykset (I/2011)
Magetzubin koodissa on tämmönen kohtaPotiro wrote:Miten saan viholliset ampumaan ja liikkumaan?
Code: Select all
//Vihollisten läpikäynti
For pahis.Vihut = Each Vihut
//Piirretään pahikselle energia
DrawToWorld 0, 0, ON
CenterText ObjectX(pahis\obj), ObjectY(pahis\obj), ObjectFloat(pahis\obj), 2
DrawToWorld 0, 0, OFF
//Joe vihollisen energia-arvo on tasan tai meni alle nollan, niin tuhotaan vihollinen.
If ObjectFloat(pahis\obj) =< 0 Then
DeleteObject pahis\obj
Delete pahis
EndIf
Next Pahis
"Fallout 3 (#10) marked a shift in the industry, a move that saw the western RPG begin to surpass its Japanese counterparts." -IGN top 100 RPGs of all time
Re: Tyhmät kysymykset (I/2011)
No en kyllä älynny....