Tyhmät kysymykset (I/2011)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by axu »

Ihminen wrote:Minun "pelissäni" hahmo voi liikkua neljään eri suuntaan, ja olen nyt tehnyt neljä erilaista animaatiota, jossa hahmo lyö. Ja nyt olisi tarkoituksena että kun painaa nappia A se näyttäisi hahmon "lyöntianimaation", mutta kuinka saisin sen tekemään niin että, kun hahmo on esim. kääntyneenä vasemmalle se näyttää animaation jossa hahmo lyö vasemmalle ja jos hahmo on kääntyneenä oikealle näyttää että hahmo lyö oikealle, jne.
(Mitään koodia tästä hahmon "lyömisestä" en ole vielä kirjoittanut)

Toivottavasti tästä sai mitään selvää :roll:
Tallennat muuttujaan mihin suuntaan ukko on menossa, ja muutat sitä aina kun painetaan nuolinäppäintä (esim. Suunta=1 on ylös, Suunta=2 vasemmalle). Silloin kun pitää toistaa lyömisanimaatio, tarkistat mihin suuntaan katsotaan ja toistat oikean animaation sen mukaan.
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Tyhmät kysymykset (I/2011)

Post by esa94 »

Sly_Jack0 wrote:

Code: Select all

Function Line2(x,y,x2,y2,r=2)
	d = ((x2-x)^2 + (y2-y)^2)^0.5 
	For i = 1 To d
		Circle x - r / 2 + (x2 - x) * i / d, y - r / 2 - r/d / 2 + (y2 -  y)*i/d,r,1
	Next i
EndFunction
Viimeinen parametri on viivan paksuus.
CB ei osanne optimoida laskutoimituksia joten muuta mielellään r/2:t yms muuttujiksi, saattaisi nopeuttaa.
Ihminen
Newcomer
Posts: 34
Joined: Tue Jun 14, 2011 9:13 pm

Re: Tyhmät kysymykset (I/2011)

Post by Ihminen »

Millä saisin tehtyä aseiden äänet peliini? Tarkoitan siis että onko vaikka joku ohjelma millä saisin ne tehtyä?
...Kun haluaisin tehdä pelin kokonaan itse, enkä haluaisi latailla mitään "valmiitä ääniä".
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by Awaclus »

Ihminen wrote:Millä saisin tehtyä aseiden äänet peliini? Tarkoitan siis että onko vaikka joku ohjelma millä saisin ne tehtyä?
...Kun haluaisin tehdä pelin kokonaan itse, enkä haluaisi latailla mitään "valmiitä ääniä".
Audacity, mikrofoni (esimerkiksi webkamera riittää ihan hyvin, jos tietokoneessa ei ole integroituna mikkiä) ja paljon erilaisia plugineita (mm. CamelCrusheria suositellaan, se on hyvä käytännössä kaikkiin tarkoituksiin). Jos et satu omistamaan asetta, äänitä vaikka käsien yhteen lyönti ja muuttele sitä kunnes se kuulostaa hyvältä.

EDIT: Tuli vaihteeksi itsellenikin ongelma lisätessäni näkymättömiä vihollisia Ultimate Stickfigure Gameen:

Code: Select all

    For irl.rl = Each rl
        For istick.sticks = Each sticks
            If ObjectsOverlap (istick\obj, irl\obj) Then SetWindow "toimii" :nextlvl = 0: Goto alusta_kenttä 'alustetaan kenttä ilman että siirrytään seuraavaan leveliin
			If irl\invisibility = 1 Then
				If Distance2 (istick\obj, irl\obj) > 48 Then PaintObject irl\obj, -invighost_master Else PaintObject irl\obj, rl_master
			EndIf
		Next istick
        TranslateObject irl\obj, irl\suunta, 0
        If GetMap (2, ObjectX (irl\obj)+16, ObjectY(irl\obj)) Then irl\suunta = -1.8
        If GetMap (2, ObjectX (irl\obj)-16, ObjectY(irl\obj)) Then irl\suunta = 1.8
    Next irl
rl on kokoelma oikealle ja vasemmalle liikkuvia kummituksia, ja sticks on kokoelma tikku-ukkoja. Kummassakin on kenttä obj, joka sisältää objektimuuttujan. invighost_master on 19*25 kokoinen kuva, joka on tyhjä, ja rl_master on 19*25 kokoinen objekti, jossa on grafiikkaa. Kokoelmassa rl on kenttä invisibility, joka tarkistaa, onko nimenomainen kummitus näkymätön vai ei. Näkymättömät kummitukset näkyvät niin pitkään kuin on tarpeeksi lähellä niitä.

Ongelmana on se, että kun tikku-ukolla osuu näkymättömään kummitukseen, tulee mav. Koska silloin, kun ei ole kosketuksessa näkymättömän kummituksen kanssa, ei tule mavia, ja koska mavin tullessa ikkunan otsikko ei ole "toimii", mavin syy täytyy siis minun käsitykseni mukaan olla ObjectsOverlap, joka palauttaa Truen. Jostain syystä mavia ei tule pelkästä ObjectsOverlapin tarkastuksesta, eikä se tule myöskään Distance2:n tarkistuksesta tai siitä, että Distance2 palauttaa truen. Mav ei tule myöskään silloin, jos ObjectsOverlap palauttaa truen, kun osutaan kummitukseen, joka ei ole näkymätön.

Mistäköhän tämä voisi johtua, ja miten sen voi korjata?
pelien ystävä

Re: Tyhmät kysymykset (I/2011)

Post by pelien ystävä »

Miten saisin tehtyä jääkiekkopeliin kiekon kimpoamisen laidasta? Kiitos jo etukäteen
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by temu92 »

Riippuu paljon siitä miten olet toteuttanut kiekon liikuttamisen. Helpointa on käyttää kahta vektoria kiekon nopeuksille (x ja y) ja kun kiekko osuu laitaan muutat vaan oikean vektorin vastaluvuksi, esim. jos kiekko osuu oikeaan tai vasempaan reunaan, muutetaan X-vektoria. Pyöristetyt kentän kulmat jos sellaiset välttämättä haluaa voi ollakin vähän monimutkaisempi enkä nyt jaksa keksiä mitään siihen.
Ihminen
Newcomer
Posts: 34
Joined: Tue Jun 14, 2011 9:13 pm

Re: Tyhmät kysymykset (I/2011)

Post by Ihminen »

Kun minun pelissäni hahmo liikkuu, sen ei kuulu "kääntyä", eli siis minulla on neljä erilaista animaatiota hahmon liikkumisesta ja hahmo liikkuu siis neljään eri suuntaan.
Kun ammutaan aseella, kuinka saisin toteutettua sen niin että luoti liikkuu ylöspäin, jos näytetään esim. kuva 1, ja jos kuva 2 niin luoti liikkuu oikealle?
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by Awaclus »

Ihminen wrote:Kun minun pelissäni hahmo liikkuu, sen ei kuulu "kääntyä", eli siis minulla on neljä erilaista animaatiota hahmon liikkumisesta ja hahmo liikkuu siis neljään eri suuntaan.
Kun ammutaan aseella, kuinka saisin toteutettua sen niin että luoti liikkuu ylöspäin, jos näytetään esim. kuva 1, ja jos kuva 2 niin luoti liikkuu oikealle?
Suosittelen, että kuitenkin käytät vain yhtä objektia, jonka pyörityslaatu on 4, ja käännät sitä aina 90 astetta. Yksinkertaisempaa ja muutenkin.

Joko:

Code: Select all

ukko = LoadObject ("Media\cow.bmp",4)
Repeat
If KeyHit(cbkeyright) Then TurnObject ukko, -90
If KeyHit(cbkeyleft) Then TurnObject ukko, 90'en muista menikö nyt oikein perin koska en ole käyttänyt TurnObjectia pitkiin aikoihin

MoveObject ukko, Int(KeyDown(cbkeyup)*2)-Int(KeyDown(cbkeydown)*2)
DrawScreen
Forever
Tai:

Code: Select all

ukko = LoadObject ("Media\cow.bmp",4)

Repeat
	If KeyDown (cbkeyright) Then RotateObject ukko, 0: MoveObject ukko, 2
	If KeyDown (cbkeyleft) Then RotateObject ukko, 180: MoveObject ukko, 2
	If KeyDown (cbkeyup) Then RotateObject ukko, 90: MoveObject ukko, 2
	If KeyDown (cbkeydown) Then RotateObject ukko, 270: MoveObject ukko, 2
	
	DrawScreen
Forever
Lisäksi toivoisin edelleen vastausta omaan edellisessä viestissäni esittämääni ongelmaan, jos joku osaa auttaa.
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by axu »

Chaosworm wrote:
Ihminen wrote:Kun minun pelissäni hahmo liikkuu, sen ei kuulu "kääntyä", eli siis minulla on neljä erilaista animaatiota hahmon liikkumisesta ja hahmo liikkuu siis neljään eri suuntaan.
Kun ammutaan aseella, kuinka saisin toteutettua sen niin että luoti liikkuu ylöspäin, jos näytetään esim. kuva 1, ja jos kuva 2 niin luoti liikkuu oikealle?
Suosittelen, että kuitenkin käytät vain yhtä objektia, jonka pyörityslaatu on 4, ja käännät sitä aina 90 astetta. Yksinkertaisempaa ja muutenkin.
Aika ironista, että juuri tässä omasta esimerkistäsi näkyy miksi ei. Jos perspektiivi ei olekaan tasan ylhäältäpäin kuvattu (näin ainakin itse ymmärsin), näyttää aika absurdilta, että ukko kääntyy ylösalaisin kun kävelee ylöspäin. Niin no, eihän Ihminen oikeastaan kertonut miten asia on, joten sen voi kyllä ymmärtää näinkin.
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
rallipelit

Re: Tyhmät kysymykset (I/2011)

Post by rallipelit »

Miten saisin tehtyä rallipeliin maalin ja miten saisin tehtyä sen että kun menee radalta/tieltä pois niin auton vauhti hidastuu.
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by temu92 »

Maali: tee näkymätön objekti ja sitten tarkistat ObjectsOverlapilla ollaanko maalin kohdalla.

Hidastus radan ulkopuolella: käytä erillistä mustavalkoista kuvaa radan lisäksi (olettaen että olet toteuttanut radat käyttäen kuvia) jossa valkoinen on rata ja musta on kaikki muu alue. Tarkista sitten onko pelaajan auto mustalla alueella (PickImageColor/PickImageColor2 funktiolla saat värin) ja jos niin, hidasta auton vauhtia.
Last edited by temu92 on Sun Jul 24, 2011 1:32 pm, edited 1 time in total.
Ihminen
Newcomer
Posts: 34
Joined: Tue Jun 14, 2011 9:13 pm

Re: Tyhmät kysymykset (I/2011)

Post by Ihminen »

axu wrote:
Chaosworm wrote:
Ihminen wrote:Kun minun pelissäni hahmo liikkuu, sen ei kuulu "kääntyä", eli siis minulla on neljä erilaista animaatiota hahmon liikkumisesta ja hahmo liikkuu siis neljään eri suuntaan.
Kun ammutaan aseella, kuinka saisin toteutettua sen niin että luoti liikkuu ylöspäin, jos näytetään esim. kuva 1, ja jos kuva 2 niin luoti liikkuu oikealle?
Suosittelen, että kuitenkin käytät vain yhtä objektia, jonka pyörityslaatu on 4, ja käännät sitä aina 90 astetta. Yksinkertaisempaa ja muutenkin.
Aika ironista, että juuri tässä omasta esimerkistäsi näkyy miksi ei. Jos perspektiivi ei olekaan tasan ylhäältäpäin kuvattu (näin ainakin itse ymmärsin), näyttää aika absurdilta, että ukko kääntyy ylösalaisin kun kävelee ylöspäin. Niin no, eihän Ihminen oikeastaan kertonut miten asia on, joten sen voi kyllä ymmärtää näinkin.

Siis tarkoitin sen niin että, minun pelissäni on siis tehty animaatiot, joissa hahmo liikkuu oikealle, vasemmalle, eteen (alas) ja taakse (ylös).


Googlatkaa BoxHead niin siinä näätte miten tuon liikkumisen peliini tarkoitin...
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by Awaclus »

Ihminen wrote:Siis tarkoitin sen niin että, minun pelissäni on siis tehty animaatiot, joissa hahmo liikkuu oikealle, vasemmalle, eteen (alas) ja taakse (ylös).


Googlatkaa BoxHead niin siinä näätte miten tuon liikkumisen peliini tarkoitin...
Jos kuvakulma on sama kuin BoxHeadissa (eli yläviistosta kuvattu), niin sitten voit tehdä erillisen muuttujan, joka kertoo, mihin suuntaan hahmo liikkuu ja kääntää ammusta sen mukaan.

Jos taas kuvakulma on suoraan ylhäältä päin kuvattu, niin kannattaa silti tehdä ennemmin yhdellä animaatiolla, jota pyöritetään neljään eri suuntaan.


Ja edelleen toivoisin vastausta tähän ongelmaani. Minun mielestäni siinä pitäisi olla kerrottu kaikki asiat, jotka mahdollisesti voivat siihen vaikuttaa, mutta voin kyllä laittaa koko koodinkin jakoon jos kenellekään ei tuon perusteella selviä ongelman syy.
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2011)

Post by DJ-Filbe »

Mikä on nopein tapa sammmuttaa (Win7-)tietokone ohjelmallisesti (välitön virta-pois)?
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Viltzu »

DJ-Filbe wrote:Mikä on nopein tapa sammmuttaa (Win7-)tietokone ohjelmallisesti (välitön virta-pois)?
Enpä niin tiedä, mutta shutdown -f toiminee. Ei ole kyllä niinkään "välitön virta-pois", mutta pakottaa ohjelmat sammumaan ilman varoitusta. Eipä ole ollut tarvetta saada windows sammumaan nopeasti. Sehän on Windowsin lakeja vastaan, että se käynnistyisi tai sammuisi nopeasti.

Ja eikös tämä ole CB-ongelmille? mm..
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by axu »

DJ-Filbe wrote:Mikä on nopein tapa sammmuttaa (Win7-)tietokone ohjelmallisesti (välitön virta-pois)?
Teet ohjelman joka aiheuttaa BSOD:n. No ei se virtaa laita pois, mutta ainoa nopea tapa sammuttaa windows :D Tai sitten värkkäät jonkinlaisen fyysisen piirin, jonka kautta virta kulkee koneelle. Tämä piiri yhdistetään USB tai vaikka sarjaporttiin, ja sitä käskyttäessä katkaistaan virta pariksi sekunniksi.
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
MrMonday
Advanced Member
Posts: 378
Joined: Fri Oct 10, 2008 2:35 pm

Re: Tyhmät kysymykset (I/2011)

Post by MrMonday »

DJ-Filbe wrote:Mikä on nopein tapa sammmuttaa (Win7-)tietokone ohjelmallisesti (välitön virta-pois)?
Pikaisella googletuksella löyty joku tommonen http://www.avinashtech.com/microsoft/ho ... windows-7/ En hirveen tarkkaan jäänyt selaileen, mut vissiin se mitä haet.. ja jos tapahtuu jotain odottamatonta, niin minä en sitten neuvonut mitään :D
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by valscion »

Chaosworm wrote:Tuli vaihteeksi itsellenikin ongelma lisätessäni näkymättömiä vihollisia Ultimate Stickfigure Gameen:

Code: Select all

...koodi...
rl on kokoelma oikealle ja vasemmalle liikkuvia kummituksia, ja sticks on kokoelma tikku-ukkoja. Kummassakin on kenttä obj, joka sisältää objektimuuttujan. invighost_master on 19*25 kokoinen kuva, joka on tyhjä, ja rl_master on 19*25 kokoinen objekti, jossa on grafiikkaa. Kokoelmassa rl on kenttä invisibility, joka tarkistaa, onko nimenomainen kummitus näkymätön vai ei. Näkymättömät kummitukset näkyvät niin pitkään kuin on tarpeeksi lähellä niitä.

Ongelmana on se, että kun tikku-ukolla osuu näkymättömään kummitukseen, tulee mav. Koska silloin, kun ei ole kosketuksessa näkymättömän kummituksen kanssa, ei tule mavia, ja koska mavin tullessa ikkunan otsikko ei ole "toimii", mavin syy täytyy siis minun käsitykseni mukaan olla ObjectsOverlap, joka palauttaa Truen. Jostain syystä mavia ei tule pelkästä ObjectsOverlapin tarkastuksesta, eikä se tule myöskään Distance2:n tarkistuksesta tai siitä, että Distance2 palauttaa truen. Mav ei tule myöskään silloin, jos ObjectsOverlap palauttaa truen, kun osutaan kummitukseen, joka ei ole näkymätön.

Mistäköhän tämä voisi johtua, ja miten sen voi korjata?
Jos ongelma johtuu juuri tuosta ObjectsOverlapista ja siitä että sitä käytetään, kun objekti on näkymätön, niin korjaa tuo jännä MAV sillä että ennen noita ObjecstOverlap tarkistuksia teet tarkistuksen, onko objekti näkymätön vai ei.
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
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by Awaclus »

VesQ wrote:
Chaosworm wrote: Mistäköhän tämä voisi johtua, ja miten sen voi korjata?
Jos ongelma johtuu juuri tuosta ObjectsOverlapista ja siitä että sitä käytetään, kun objekti on näkymätön, niin korjaa tuo jännä MAV sillä että ennen noita ObjecstOverlap tarkistuksia teet tarkistuksen, onko objekti näkymätön vai ei.
"Näkymättömät kummitukset" tarkoittavat siis kummituksia, jotka ovat näkymättömiä niin kauan kun yksikään tikku-ukko ei ole lähellä niitä. Kun etäisyys tikku-ukon ja näkymättömän kummituksen välillä on tarpeeksi pieni, näkymättömän kummituksen kaikki ominaisuudet ovat täysin samanlaiset kuin tavallisenkin kummituksen (toisin sanoen se näkyy ja on saman kokoinen), paitsi että lisäksi tyypin jäsenen toisessa kentässä on nollan sijaan ykkönen.

Kun kerran tuo Distance2 toimii ihan hyvin rivillä " If Distance2 (istick\obj, irl\obj) > 48 Then PaintObject irl\obj, -invighost_master Else PaintObject irl\obj, rl_master", ajattelin kokeilla korvata ObjectsOverlapin Distance2:lla. Sekään ei toiminut tuossa kohdassa, missä ObjectsOverlapkaan ei toimi.
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by valscion »

Chaosworm wrote:
VesQ wrote:
Chaosworm wrote: Mistäköhän tämä voisi johtua, ja miten sen voi korjata?
Jos ongelma johtuu juuri tuosta ObjectsOverlapista ja siitä että sitä käytetään, kun objekti on näkymätön, niin korjaa tuo jännä MAV sillä että ennen noita ObjecstOverlap tarkistuksia teet tarkistuksen, onko objekti näkymätön vai ei.
"Näkymättömät kummitukset" tarkoittavat siis kummituksia, jotka ovat näkymättömiä niin kauan kun yksikään tikku-ukko ei ole lähellä niitä. Kun etäisyys tikku-ukon ja näkymättömän kummituksen välillä on tarpeeksi pieni, näkymättömän kummituksen kaikki ominaisuudet ovat täysin samanlaiset kuin tavallisenkin kummituksen (toisin sanoen se näkyy ja on saman kokoinen), paitsi että lisäksi tyypin jäsenen toisessa kentässä on nollan sijaan ykkönen.

Kun kerran tuo Distance2 toimii ihan hyvin rivillä " If Distance2 (istick\obj, irl\obj) > 48 Then PaintObject irl\obj, -invighost_master Else PaintObject irl\obj, rl_master", ajattelin kokeilla korvata ObjectsOverlapin Distance2:lla. Sekään ei toiminut tuossa kohdassa, missä ObjectsOverlapkaan ei toimi.
Oletko koittanut siirtää tuon "If irl\invisibility = 1 Then" ehtolauseen ennen ObjectsOverlappia? Ja oletko tarkistanut SetWindowilla että ennen tuota For-looppia ei peli kaadu? Tuo MAV alkaa vaikuttamaan vähitellen melko mysteeriseltä minulle... eikä asiaa auta yhtään se että käytät Goto-komentoa ja kaksoispistettä, jotenkin sekoittaa koodia mielestäni. Enkä edes ole varma siitä ettei tuo Goto sekoita jollain tavalla CB:n For...Each-looppia.
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
Locked