Page 17 of 18
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Thu Jan 17, 2013 5:31 pm
by Jonez
NICE! :O
Todella hyvin on jo vähän vanhasta portal-ideasta saatu mehut irti, hyvin toteutettu, erinomainen tekniikkademo. En nyt paljoa enempää ehdi ylistää kun on jo muutenkin kiire. Harmi etten enempää ehdi nyt testailla
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Fri Jan 18, 2013 7:07 pm
by valscion
axu wrote:Joku saattaa muistaa, kun kesällä laitoin kuvaa tekeillä olevasta tekniikkademosta. Sanoin silloin, että huonoa en julkaise, mutta nyt puolen vuoden jälkeen turhaan minä sitä itselläni enää panttaan; siispä tässä teille Portal-henkinen pelintynkä!
Upea! Olisi mahtava nähdä enemmänkin näitä cbE:tä oikeasti käyttäviä projekteja, tietäisi ettei ole tehnyt ihan turhaa työtä
. cbE:ssä ei edes ole enää kriittisiä bugeja, tai sitten niitä ei ole löydetty, että en oikein näe syytä miksei cbE:llä voisi jo useammatkin tehdä pelejään.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Sun Jan 20, 2013 4:56 pm
by MaGetzUb
VesQ wrote:axu wrote:Joku saattaa muistaa, kun kesällä laitoin kuvaa tekeillä olevasta tekniikkademosta. Sanoin silloin, että huonoa en julkaise, mutta nyt puolen vuoden jälkeen turhaan minä sitä itselläni enää panttaan; siispä tässä teille Portal-henkinen pelintynkä!
Upea! Olisi mahtava nähdä enemmänkin näitä cbE:tä oikeasti käyttäviä projekteja, tietäisi ettei ole tehnyt ihan turhaa työtä
. cbE:ssä ei edes ole enää kriittisiä bugeja, tai sitten niitä ei ole löydetty, että en oikein näe syytä miksei cbE:llä voisi jo useammatkin tehdä pelejään.
Useita tärkeitä ominaisuuksia puuttuu, varsinkin törmäysten puolelta ja sitten pieniä muita jutskia uupuilee. Btw toi Axun homma oli mahtava, itse olen kans miettinyt joskus samanlaista systeemiä. Hieno nähdä kuinka tuo toimii käytännössä.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Sun Jan 20, 2013 7:19 pm
by valscion
MaGetzUb wrote:VesQ wrote:cbE:ssä ei edes ole enää kriittisiä bugeja, tai sitten niitä ei ole löydetty, että en oikein näe syytä miksei cbE:llä voisi jo useammatkin tehdä pelejään.
Useita tärkeitä ominaisuuksia puuttuu, varsinkin törmäysten puolelta ja sitten pieniä muita jutskia uupuilee.
Pikselintarkat törmäykset kyllä, ja pysähtyvä törmäys. Mutta mitä muuta, CB:ssä jo olevia ominaisuuksia?
EDIT: Täällä ei ainakaan kovinkaan paljoa noita toteuttamattomia ominaisuuksia ole listattuna:
https://github.com/VesQ/cbEnchanted/iss ... state=open
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Tue Jan 22, 2013 2:07 pm
by skorpioni-cb
VesQ wrote:...
Upea! Olisi mahtava nähdä enemmänkin näitä cbE:tä oikeasti käyttäviä projekteja, tietäisi ettei ole tehnyt ihan turhaa työtä
...
Onhan siellä nyt ainakin SideX(jonka voisi varmaankin toteuttaa myös normi-cb, mutta tehot kasvaa cbE:llä)
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Mon Feb 04, 2013 10:16 pm
by skinkken
Ollaankos tätä vielä kehittämässä? Mietin vähän että tuo wanha cb alkaa olla jo kohta vanhentunutta mallia, kun tällä windows kasilla ilmenee erilaisia ongelmia, aluksi fullscreenin lagitus ja sitten vielä ikkunassakin lagitus, joka ilmenee vain joskus.(ja muutenkin buginen)
Jos alkaisi jotakin isoa projektia tekemään, tulisi vastaan kaikenlaisia bugeja. Ja sitten kun bugit saadaan korjatuksi, jotkut muut jutut lakkaavat toimimasta kun ne alkavat toimia eri tavoilla. Eli minkälaisessa vaiheessa cbE sitten on? Melkein mitkään aiemmista peleistäni eivät toimineet sillä, osittain tuntemattomista syistä. Ja kun bugeja ilmenee, ilmoitanko ne tänne? Nuo githubin jutut ja cbE:n ohjeetkin ovat jossakin linkkien takana ja vähän vaikea löytää niitä 17 sivua pitkästä topikista. Voisiko kaikki oleellinen vaikka laittaa siihen cbE githubin etusivulle, josta ne voisi löytää helposti?
Aika sekava viesti, mutta kun en oikein tiedä millä voisi koodata ja kaikenlaista muutakin.
Joitakin bugeja cbE:ssä:
Tällä pelillä kokeilin.
-Playsoundilla suoraan levyltä äänet tulevat n. puoli sekuntia jäljessä. Kokeilin loadsoundilla ja sitten playsoundilla ja toimi.
-Loadfont ei toimi, ja tulee cbE:n ilmoitus että loadfont failed.
-Pitäisi olla mahdollisuus päättää, kuinka monessa asennossa objekti voi olla, kun tässä pelissä käytetään pointobjectia, mutta en halua, että se kääntyy.
-Cavernsilla kokeilin ja tulee tietenkin sama loadfont failed, mutta sitten on jotakin tosi omituisia bugeja. Kartan törmäys toimii jotenkin ihan oudosti ja on väärissä paikoissa. Objektien animointi toimii osittain, mutta pari kertaa kävi niin että ukkelin animaation tilalla oli jotakin ihan muiden objektien osia.
-Joistakin tietyistä asioista tulee "cbrun lakkasi toimimasta."
-monet pelit eivät toimi koko ruudussa. Joukossa on 640x480 ja 800x600 tilan pelejä. Normi cb:llä toimii mutta lagittaa. cbE:llä Näyttötila muuttuu pelin näyttötilan kokoiseksi mutta peli ei tule ruutuun vaan jää cb editorin ikkuna. Peliä ei saa millään päällimmäiseksi ja tehtävienhallinnankin avulla ne on vaikea sulkea kun tielle tulee jatkuvasti "cbrun lakkasi toimimasta"
Haluaisin todella että tämä saataisiin siihen kuntoon että pelejä voi alkaa kunnolla tehdä, ja olen kiitollinen niille jotka tätä on tehnyt. Voin myös antaa pelien lähdekoodeja jos niistä on apua.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Mon Feb 04, 2013 11:23 pm
by Latexi95
skinkken wrote:Ollaankos tätä vielä kehittämässä? Mietin vähän että tuo wanha cb alkaa olla jo kohta vanhentunutta mallia, kun tällä windows kasilla ilmenee erilaisia ongelmia, aluksi fullscreenin lagitus ja sitten vielä ikkunassakin lagitus, joka ilmenee vain joskus.(ja muutenkin buginen)
No kehitys on hieman jäässä osaltaan tekijöiden opiskelujen ja muiden juttujen aiheuttamien kiireiden takia ja osaksi kiinnostuksen puutteesta.
skinkken wrote:Jos alkaisi jotakin isoa projektia tekemään, tulisi vastaan kaikenlaisia bugeja. Ja sitten kun bugit saadaan korjatuksi, jotkut muut jutut lakkaavat toimimasta kun ne alkavat toimia eri tavoilla. Eli minkälaisessa vaiheessa cbE sitten on? Melkein mitkään aiemmista peleistäni eivät toimineet sillä, osittain tuntemattomista syistä. Ja kun bugeja ilmenee, ilmoitanko ne tänne? Nuo githubin jutut ja cbE:n ohjeetkin ovat jossakin linkkien takana ja vähän vaikea löytää niitä 17 sivua pitkästä topikista. Voisiko kaikki oleellinen vaikka laittaa siihen cbE githubin etusivulle, josta ne voisi löytää helposti?
No kaikki cbE:hen liittyvä löytyy kyllä githubista varsin nopeasti kun tietää mistä kohdasta pitää painaa. Ylähäältä löytyy nappi
"Issues" josta pääsee bugien raportointiin. Kaikista bugeista kannattaa sinne laittaa jonkinlainen ilmoitus niin pysymme kartalla mitä pitäisi tehdä seuraavaksi, kun satumme innostumaan koodamaan. (Uutta julkaisua voisi koota piakkoinkin koska joitan bugikorjauksia on tehty edellisen julkaisun jälkeen). "Issues" napin vierestä löytyy myös
"Wiki" jossa on sitten on muuta tietoa cbE:n ja perus CB:n eroista ja toteuttamattomista ominaisuuksista.
skinkken wrote:
Aika sekava viesti, mutta kun en oikein tiedä millä voisi koodata ja kaikenlaista muutakin.
Joitakin bugeja cbE:ssä:
Tällä pelillä kokeilin.
-Playsoundilla suoraan levyltä äänet tulevat n. puoli sekuntia jäljessä. Kokeilin loadsoundilla ja sitten playsoundilla ja toimi.
-Loadfont ei toimi, ja tulee cbE:n ilmoitus että loadfont failed.
-Pitäisi olla mahdollisuus päättää, kuinka monessa asennossa objekti voi olla, kun tässä pelissä käytetään pointobjectia, mutta en halua, että se kääntyy.
-Cavernsilla kokeilin ja tulee tietenkin sama loadfont failed, mutta sitten on jotakin tosi omituisia bugeja. Kartan törmäys toimii jotenkin ihan oudosti ja on väärissä paikoissa. Objektien animointi toimii osittain, mutta pari kertaa kävi niin että ukkelin animaation tilalla oli jotakin ihan muiden objektien osia.
-Joistakin tietyistä asioista tulee "cbrun lakkasi toimimasta."
Haluaisin todella että tämä saataisiin siihen kuntoon että pelejä voi alkaa kunnolla tehdä, ja olen kiitollinen niille jotka tätä on tehnyt. Voin myös antaa pelien lähdekoodeja jos niistä on apua.
-Ilmeisesti PlaySoundin puskureita pitää hieman säätää että tuota viivettä voidaan pienentää. Pieni viive siihen tulee joka tapauksessa kun tavaraa pitää ladata levyltä mutta kyllä se pitäisi saada puolta sekunttia pienemmäksi.
-LoadFontin pitäisi toimia, mutta koska Windowsin tapauksessa fonttien hakeminen on tehty hirvittävän tuskalliseksi, käytämmä suoraan kovakoodattuja nimiä eri fonteille eivätkä erikoisemmat fontit löydy siitä listasta. Suosittelemme toimittamaan fontit ohjelman mukana ja lataamaan ne tiedostopolun avulla nimen sijaan.
-Jonkinlainen ratkaisu varmaan pitää kehitellä tuota varten. Ehkä LoadObjectin 2 parametri pitäisi ottaa huomioon ja sen mukaan kääntää objektia.
-Bugi-ilmoitusta vaan kehiin.
-Oletko kokeillut debug versiolla vai pelkästään releasella? Debug versiossa on hieman enemmän tarkastuksia jotka saattavat kertoa vian. Jos mahdollista niin koita paikallistaa vikaa.
Jos irkkiä käytät niin #cbe @ IRCnet on hyvä paikka tulla antamaan tarkempia selityksiä ongelmista ja pohtimaan ratkaisua.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Sat Feb 09, 2013 6:42 pm
by skinkken
Laitoin sitten cbE debug-version compilerista sinne oikeaan kansioon releasen tilalle. Mutta nyt kun painan run millä tahansa cb-pelillä cbE:llä, tulee tällainen ilmoitus:
Ikkunana ylälaidassa: cbRun.exe - Järjestelmävirhe
Itse ikkunassa: Ohjelma ei voi käynnistyä, koska MSVCP100D.dll puuttuu tietokoneesta. Yritä korjata ongelma asentamalla ohjelma uudelleen.
Latasin netistä kyseisen dll:än, ja kokeilin laittaa sen eri paikkoihin: Windows/system32 -kansioon, cbE:n kansioon, cbRunin ja compilerin kansioon, mutta sanoo edelleen samaa.
On siis windows 8, ja releasella toimii edelleen.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Sat Feb 09, 2013 8:38 pm
by Viltzu
skinkken wrote:Laitoin sitten cbE debug-version compilerista sinne oikeaan kansioon releasen tilalle. Mutta nyt kun painan run millä tahansa cb-pelillä cbE:llä, tulee tällainen ilmoitus:
Ikkunana ylälaidassa: cbRun.exe - Järjestelmävirhe
Itse ikkunassa: Ohjelma ei voi käynnistyä, koska MSVCP100D.dll puuttuu tietokoneesta. Yritä korjata ongelma asentamalla ohjelma uudelleen.
Latasin netistä kyseisen dll:än, ja kokeilin laittaa sen eri paikkoihin: Windows/system32 -kansioon, cbE:n kansioon, cbRunin ja compilerin kansioon, mutta sanoo edelleen samaa.
On siis windows 8, ja releasella toimii edelleen.
Debug versio vaatii että Microsoft Visual C++ Redistributable Package on asennettu.
EDIT:Tosin jaa Release versio kai kans vaatii, mutta mene ja tiedä. Koita asentaa tuo uudelleen.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Sat Feb 09, 2013 9:14 pm
by Latexi95
Debug versio on näköjään buildattu debug c-runtimella joten sen ajamiseen vaatisi sitten visual studion tai windows sdk:n asentamista. x(
Debug versiot noista ei taida tulla redistributablen mukana
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Sat Feb 09, 2013 10:42 pm
by Timblex
skinkken wrote:Laitoin sitten cbE debug-version compilerista sinne oikeaan kansioon releasen tilalle. Mutta nyt kun painan run millä tahansa cb-pelillä cbE:llä, tulee tällainen ilmoitus:
Ikkunana ylälaidassa: cbRun.exe - Järjestelmävirhe
Itse ikkunassa: Ohjelma ei voi käynnistyä, koska MSVCP100D.dll puuttuu tietokoneesta. Yritä korjata ongelma asentamalla ohjelma uudelleen.
Latasin netistä kyseisen dll:än, ja kokeilin laittaa sen eri paikkoihin: Windows/system32 -kansioon, cbE:n kansioon, cbRunin ja compilerin kansioon, mutta sanoo edelleen samaa.
On siis windows 8, ja releasella toimii edelleen.
Krhm... luulisin että tarkoittamasi dll on MSVC
R100D sillä sitä ainakin minulla valitti, olet siis varmaankin erehtynyt dll:n nimen suhteen ja mitään Windows-SDK:ta ei tarvitse asentaa.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Mon Feb 18, 2013 1:18 pm
by skinkken
Timblex wrote:skinkken wrote:Laitoin sitten cbE debug-version compilerista sinne oikeaan kansioon releasen tilalle. Mutta nyt kun painan run millä tahansa cb-pelillä cbE:llä, tulee tällainen ilmoitus:
Ikkunana ylälaidassa: cbRun.exe - Järjestelmävirhe
Itse ikkunassa: Ohjelma ei voi käynnistyä, koska MSVCP100D.dll puuttuu tietokoneesta. Yritä korjata ongelma asentamalla ohjelma uudelleen.
Latasin netistä kyseisen dll:än, ja kokeilin laittaa sen eri paikkoihin: Windows/system32 -kansioon, cbE:n kansioon, cbRunin ja compilerin kansioon, mutta sanoo edelleen samaa.
On siis windows 8, ja releasella toimii edelleen.
Krhm... luulisin että tarkoittamasi dll on MSVC
R100D sillä sitä ainakin minulla valitti, olet siis varmaankin erehtynyt dll:n nimen suhteen ja mitään Windows-SDK:ta ei tarvitse asentaa.
Tarkistin vielä, ja kyllä se on se MSVCP100D, joka puuttuu, eikä MSVCR100D. Pitääkö sitten kaikilla debug-versiota käyttävillä olla tuo windows sdk tai visual studio? Pystyykö tuota debug-versiota muuttaa niin, ettei tarvitsisi sdk:ta, vai pitäisikö koko juttu muuten koodata uudestaan?
Tein testattavaksi debug-compilerilla version Dark Castlesta. Paketissa on normi-cb:llä tehty ja enchantedin debug-versiolla tehty exe, ja debug-versiolla tehty exe valittaa edelleen samaa dll:llän puuttumista. Kenellä on sdk, ja toimiiko pelin Enchanted-versio?
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Mon Feb 18, 2013 2:10 pm
by Latexi95
skinkken wrote:
Tarkistin vielä, ja kyllä se on se MSVCP100D, joka puuttuu, eikä MSVCR100D. Pitääkö sitten kaikilla debug-versiota käyttävillä olla tuo windows sdk tai visual studio? Pystyykö tuota debug-versiota muuttaa niin, ettei tarvitsisi sdk:ta, vai pitäisikö koko juttu muuten koodata uudestaan?
Tein testattavaksi debug-compilerilla version Dark Castlesta. Paketissa on normi-cb:llä tehty ja enchantedin debug-versiolla tehty exe, ja debug-versiolla tehty exe valittaa edelleen samaa dll:llän puuttumista. Kenellä on sdk, ja toimiiko pelin Enchanted-versio?
Kyllä se voidaan kääntää niin että se käyttää release runtimea mutta sitten tarkistukset ovat päällä. Täytyy muistaa tehdä ens kerralla sellainen versio. Tuollaiset asiat tahtovat unohtua, kun kaikilta kehittäjiltä ne tarvittavat dll:ät löytyy eivätkä ongelmat näin ollen näy
EDIT:Kokeilen neljän aikoihin kun pääsen kotiin ja editoin sitten tähän
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Mon Feb 18, 2013 3:04 pm
by Konstaduck
Ei tuo Enchanted versio toimi minullakaan, näyttäisi sen windows SDK:n vaativan. Testaan ladata sen, ja editoin tähän josko toimisi sen jälkeen.
EDIT:On se kumma kun ei vain löydä XP:lle SDK:ta. Enkkuwikipedian mukaan tuki on myös windows xp sp3:moselle, mutta esimerkiksi tältä sivulta voi ladata vain 7-, server 2008- ja vistaversion.
Taitaa se tuki olla myös tuossa uusimmassa versiossa, niin siellä luki. Asennetaan ja testataan...
Toisaalta en jaksa asentaa SDK:ta koska se vie tilaa 1,7Gb ja en sillä mitään muuta edes tekisi...
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Tue Feb 19, 2013 11:36 am
by Misthema
Joopa. Älkääs latailko mitään SDK:ta.
Itsellä oli pöytäkoneella sama ongelma, mutta se korjaantui sillä, kun luin DLL:ien nimet kunnolla. CBE debug -versio ei vaatinut kuin kaksi (vai kolme?) DLL:ää, jotka viskoin system32 -kansioon (nimet oli muuten samat, mutta yksi kirjain aina erosi). Tämän jälkeen se toimi ihan hyvin. En sitten tiedä, vaikka koneelta olis jo jotain löytynyt. Mitään SDK:ta en tosin ole windowsin uudelleenasennuksen jälkeen lataillut/asennellut.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Tue Feb 19, 2013 11:44 am
by skinkken
No mitä dll-tiedostoja sitten tarvitaan, kun cbe kysyy MSVCP100D mutta se ei kelpaa? Eli kun tuon laittaa sinne system32 -kansioon (jossa on paljon muitakin dll-tiedostoja), kysyy cbe edelleen sitä samaa MSVCP100D vaikka se on siellä.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Tue Feb 19, 2013 12:34 pm
by Misthema
skinkken wrote:No mitä dll-tiedostoja sitten tarvitaan, kun cbe kysyy MSVCP100D mutta se ei kelpaa? Eli kun tuon laittaa sinne system32 -kansioon (jossa on paljon muitakin dll-tiedostoja), kysyy cbe edelleen sitä samaa MSVCP100D vaikka se on siellä.
Ei kysy. Se kysyy muistaakseni MSVC
P100D, eli tuota, ja MSVC
R100D.dll. Tai jotain vastaavaa yhden kirjaimen eroja noissa DLL:ien nimissä oli.
Lue ne nimet kunnolla niin tiedät mitä pitää ladata.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Tue Feb 19, 2013 8:28 pm
by skinkken
Kyllä sen nimen luin oikein. Mutta sitten laitoin MSVCP100D System-kansioon System32 sijaan ja ohjelma lopetti sen kysymisen. Sitten ohjelma kysyi MSVCR100D, latasin sen ja laitoin myös System-kansioon. Seuraavaksi tuli tämmöinen ilmoitus:
- ongelma.png (31 KiB) Viewed 31585 times
Mitä pitäisi nyt tehdä? (Koneessa on windows 8)
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Sun Feb 24, 2013 10:44 am
by KillBurn
Mistä voisi johtua CBE:n hitaus, kun käytetään paintobjectia?
Code: Select all
SCREEN 1280,720
FrameLimit 60
Type zombies
Field obj
Field hp
Field arm
Field leg
Field leg2
Field stunned
Field action
Field swing
Field grav As Float
Field yplus
Field maassa
Field suunta
Field thinking
Field weight
Field speed
Field invoke
EndType
Dim oikea_t(9)
Dim vasen_t(9)
Dim oikea_a(9)
Dim vasen_a(9)
Dim oikea_l(9)
Dim vasen_l(9)
Dim torso(9)
For pic=1 To 1
oikea_t(pic)=LoadObject("data/"+"torso"+pic+".png")
vasen_t(pic)=MakeObject()
PaintObject vasen_t(pic),oikea_t(pic)
MirrorObject vasen_t(pic),0
ShowObject oikea_t(pic),OFF
ShowObject vasen_t(pic),OFF
torso(pic)=CloneObject(oikea_t(pic))
ShowObject torso(pic),OFF
Next pic
Dim arm(9)
For pic=1 To 1
oikea_a(pic)=LoadObject("data/"+"arm"+pic+".png")
vAsen_a(pic)=MakeObject()
PaintObject vAsen_a(pic),oikea_a(pic)
MirrorObject vAsen_a(pic),0
ShowObject oikea_a(pic),OFF
ShowObject vAsen_a(pic),OFF
arm(pic)=CloneObject(oikea_a(pic))
ShowObject arm(pic),OFF
Next pic
Dim leg(9)
For pic=1 To 1
oikea_l(pic)=LoadObject("data/"+"leg"+pic+".png")
vAsen_l(pic)=MakeObject()
PaintObject vAsen_l(pic),oikea_l(pic)
MirrorObject vAsen_l(pic),0
ShowObject oikea_l(pic),OFF
ShowObject vAsen_l(pic),OFF
leg(pic)=CloneObject(oikea_l(pic))
ShowObject leg(pic),OFF
Next pic
oikea=LoadObject("data\hero.png")
vasen=MakeObject()
PaintObject vasen,oikea
MirrorObject vasen,0
ShowObject oikea,OFF
ShowObject vasen,OFF
hero=CloneObject(oikea)
center=MakeObject()
Repeat
'Hero-------------------------------
If ObjectY(hero)>-50 Then TranslateObject hero,0,-6
If KeyDown(CBKEYa) Then speed#-0.3 Then PaintObject hero,oikea
If KeyDown(CBKEYd) Then speed#+0.3 Then PaintObject hero,vasen
If speed#<>0 And KeyDown(CBKEYa)=0 And KeyDown(CBKEYd)=0 Then speed=0
If speed#>5 Then speed#=5
If speed#<-5 Then speed#=-5
TranslateObject hero,speed#,0
PositionObject center,ObjectX(hero),ObjectY(hero)+100
'Vihut------------------------------
If KeyHit(cbkeyspace)
newzombie.zombieS= New(zombieS)
newzombie\leg=CloneObject(Leg(1))
newzombie\obj=CloneObject(torso(1))
newzombie\leg2=CloneObject(Leg(1))
newzombie\arm=CloneObject(arm(1))
PositionObject newzombie\obj,Rand(-500,500),0
newzombie\hp=100
newzombie\invoke=20
newzombie\speed=2
EndIf
UpdateGame
For izombie.zombieS= Each zombieS
If ObjectY(izombie\obj)>-50 Then izombie\grav+0.4
If ObjectY(izombie\obj)>-50 Then TranslateObject izombie\obj,0,-izombie\grav
If izombie\invoke>0 Then TranslateObject izombie\obj,0,izombie\invoke
izombie\invoke-1
If ObjectY(izombie\obj)<-50 Then izombie\grav=0
PositionObject izombie\leg,ObjectX(izombie\obj)+25,ObjectY(izombie\obj)-40
PositionObject izombie\leg2,ObjectX(izombie\obj)+45,ObjectY(izombie\obj)-40
PositionObject izombie\arm,ObjectX(izombie\obj)+20,ObjectY(izombie\obj)+20
'Vihollisten suunan vaihto
izombie\thinking-1
If ObjectX(izombie\obj)<ObjectX(Center) And ObjectX(izombie\obj)<ObjectX(hero)-70 And izombie\hp>0 Then izombie\suunta=1
If ObjectX(izombie\obj)>ObjectX(Center) And ObjectX(izombie\obj)>ObjectX(hero)+70 And izombie\hp>0 Then izombie\suunta=0
If izombie\suunta=1 And izombie\thinking<0 And Distance2(hero,izombie\obj)<600 Then TranslateObject izombie\obj,izombie\speed,0
If izombie\suunta=0 And izombie\thinking<0 And Distance2(hero,izombie\obj)<600 Then TranslateObject izombie\obj,-izombie\speed,0
'Ongelmallinen paintobject
If izombie\suunta=0
PaintObject izombie\obj,oikea_t(1)
PaintObject izombie\arm,oikea_a(1)
PaintObject izombie\leg,oikea_l(1)
PaintObject izombie\leg2,oikea_l(1)
EndIf
If izombie\suunta=1
PaintObject izombie\obj,vasen_t(1)
PaintObject izombie\arm,vasen_a(1)
PositionObject izombie\arm,ObjectX(izombie\obj)-20,ObjectY(izombie\obj)+20
PaintObject izombie\leg,vasen_l(1)
PositionObject izombie\leg,ObjectX(izombie\obj)-25,ObjectY(izombie\obj)-40
PaintObject izombie\leg2,vasen_l(1)
PositionObject izombie\leg2,ObjectX(izombie\obj)-45,ObjectY(izombie\obj)-40
EndIf
izombie\action+1
If izombie\action>200 Then izombie\swing=74 Then izombie\action=0
izombie\swing-1
If izombie\swing>1 Then TurnObject izombie\arm,5
If izombie\hp<1 Then
DeleteObject izombie\obj
Delete izombie
EndIf
Next izombie
DrawGame
Text 10,10,""+FPS()
DrawScreen
Forever
Viholliset ovat siis luotu neljästä osasta, jotka peilataan tarpeentullen oikealle tai vasemmalle. Vanha CB suoriutuu tästä ongelmitta, kun CBE ei pysty pyörittämään 5 vihollista enempää hidastumatta.
Re: cbEnchanted - uudelleenkirjoitettu runtime
Posted: Mon Feb 25, 2013 2:28 pm
by Misthema
Mjoo. Yritin katsella cbE:n lähdekoodia, mutta en tiedä oliko siellä mitään outoa:
https://github.com/VesQ/cbEnchanted/blo ... t.cpp#L155
Mutta, ongelmallesi on kuitenkin ratkaisu; tee vihollisille ja muille useasti paintattaville objekteille joku muuttuja, joka kertoo, että mihin suuntaan ne jo on maalattu.
Eli, "
jos suunta = 0 ja ei ole maalattu suuntaan 0, niin maalaa suuntaan 0 ja merkitse että on maalattu suuntaan 0" (menipä jännäks
) ja sama tietenkin suuntaan 1. Näin vältät turhan PaintObject:n käytön. Niitä ei kuitenkaan tarvitse maalata, kuin kerran.
Laitan vielä selkeyden puolesta sen koodina, koska itseäni nyt häiritsee tuo lausehirviö:
Code: Select all
If suunta = 0 And maalattu_suunta <> 0 Then
PaintObject plapla
maalattu_suunta = 0
End If
If suunta = 1 And maalattu_suunta <> 1 Then
PaintObject plapla
maalattu_suunta = 1
End If
Vanhassa CB:ssä saattaa joku tarkistus jo olla sisäänrakennettuna, ettei sitä objektia maalata monesti samalla kuvalla tai objektilla. Siksi se suoriutuu siitä nopeammin.