Laitappas lähdekoodi esille niin ratkaistaan ongelma sitten!Ihminen wrote:Kun tein oman "kartan" Tilesterillä ja muuten se toimii mutta kun laitoin SetupCollisionin 1, 4, 2 (kokeilin myös 2, 4, 2) niin kun yritän päästä peliin tulee "Error: Memory access violation.
Miksi se tulee ja kuinka saisin korjattua asian.
(Tähän on varmaan ihan yksinkertainen ratkaisu, mutta kysyn nyt kuitenkin koska olen vasta aloittelija)
Tyhmät kysymykset (I/2011)
Re: Tyhmät kysymykset (I/2011)
Re: Tyhmät kysymykset (I/2011)
Mahdollisesti kirjoitit kartan (tai törmääjän) nimen väärin. Ilman lähdekoodia ei voi sen tarkemmin sanoa.Ihminen wrote:Kun tein oman "kartan" Tilesterillä ja muuten se toimii mutta kun laitoin SetupCollisionin 1, 4, 2 (kokeilin myös 2, 4, 2) niin kun yritän päästä peliin tulee "Error: Memory access violation.
Miksi se tulee ja kuinka saisin korjattua asian.
(Tähän on varmaan ihan yksinkertainen ratkaisu, mutta kysyn nyt kuitenkin koska olen vasta aloittelija)
CoolBasic henkilökuntaa
Kehittäjä
Kehittäjä
Re: Tyhmät kysymykset (I/2011)
Olit laittanut väärän muuttujanimen setupcollision kohtaan.Ihminen wrote:Kun tein oman "kartan" Tilesterillä ja muuten se toimii mutta kun laitoin SetupCollisionin 1, 4, 2 (kokeilin myös 2, 4, 2) niin kun yritän päästä peliin tulee "Error: Memory access violation.
Miksi se tulee ja kuinka saisin korjattua asian.
(Tähän on varmaan ihan yksinkertainen ratkaisu, mutta kysyn nyt kuitenkin koska olen vasta aloittelija)
map = LoadMap("testi","textures.bmp")
PlayObject map,0,0,1
SetupCollision pelihahmo, kartta, 1, 4, 2
EDIT: Ongelma näköjään ratkesi jo kun poistit viestit..
Re: Tyhmät kysymykset (I/2011)
Seuraava ongelma:
TÄLLAINEN KOODINPÄTKÄ
Eli Kiekko ei mene kokonaan maalin sisään vaan jää tällaiseksi:
Ja jääkiekon säännöissä on että kiekon pitää ylittää maaliviiva kokonaan.
TÄLLAINEN KOODINPÄTKÄ
Code: Select all
If ObjectSoverLap(kiekko,maali1)Then moveobject kiekko,0
Aloittelija koodari joka
KOTISIVU
Re: Tyhmät kysymykset (I/2011)
voit lisätä ehdon
Code: Select all
if abs(objecty(maali)-objecty(kiekko))<etäisyys
Roolipeliprojekti: Endless Travels
viewtopic.php?t=2548
viewtopic.php?t=2548
Re: Tyhmät kysymykset (I/2011)
KiittiRohmu wrote:voit lisätä ehdonCode: Select all
if abs(objecty(maali)-objecty(kiekko))<etäisyys
Aloittelija koodari joka
KOTISIVU
Re: Tyhmät kysymykset (I/2011)
Tuli nyt tällänen tyhmä kysymys mieleen, että voiko cb:ssä "näyttää" windows moviemaker:illa tehtyjä videoita?
Re: Tyhmät kysymykset (I/2011)
Voi, käyttämällä komentoja PlayAnimation() ja DrawAnimation. Manuaalin mukaan tuettuna on kaikki DirectShown tukemat tiedostomuodot.
Re: Tyhmät kysymykset (I/2011)
Taidan tehdä tämän ominaisuuden vasta kakkosversioon mutta kysyn kuitenkin :jos pelissäni saa maalin niin miten onnistuisi se että maalin voisi katsoa hidastuksena? ?
Aloittelija koodari joka
KOTISIVU
Re: Tyhmät kysymykset (I/2011)
Jotta voidaan nähdä replay, pitää tallentaa kaikkien objektejen sijainteja tietyltä ajanjaksolta. Tallentaminen kannattee tehdä taulukkoon jonka koko riippuu siitä, kuinka paljon haluat replayssa näyttää. Sitä mukaa kun uutta dataa laitetaan taulukkoon, vanhin sijainti unohdetaan pois. Tämän jälkeen vaan käydään läpi tämä replaytaulukko, ja siirretään kaikki objektit taulukon osoittamiin paikkoihin (ja kulmiin myös!).Laurenzo wrote:Taidan tehdä tämän ominaisuuden vasta kakkosversioon mutta kysyn kuitenkin :jos pelissäni saa maalin niin miten onnistuisi se että maalin voisi katsoa hidastuksena? ?
Jotta kyseessä olisi hidastus, pitää myös näyttää kahden tallennetun sijainnin välillä jotain. Yksinkertaisimmillaan hidastetaan pelin nopeutta, mutta tämä johtaa tökkivään liikkumiseen. Suositeltavaa on käyttää lineaarista interpolaatiota, jolloin väliarvot menevät sulavasti ja tökkimistä ei tapahdu. En lähde interpolaatiota tässä selvittämään, ja esimerkissä käytetty ½ nopeus ei kummempaa matematiikkaa tarvikaan, sillä kyseessä on tavallinen keskiarvo.
Code: Select all
SCREEN 500, 500
FrameLimit 60
Dim MouseRecord(100, 1) //Laaditaan taulukko, mihin tallennetaan 101 viimeisintä hiiren koordinaattia
alku:
Repeat
Text 1, 1, "Klikkaa nähdäksesi hiiren liikkeiden replayn."
For i = 0 To 99 //"Siirretään" arvoja yksi taaksepäin ja kadotetaan vanhin arvo (kohdassa 0)
MouseRecord(i, 0) = MouseRecord(i + 1, 0) //X-koordinaatti
MouseRecord(i, 1) = MouseRecord(i + 1, 1) //Y-koordinaatti
Next i
MouseRecord(100, 0) = MouseX() //Tallennetaan uusi koordinaatti kohtaan 100
MouseRecord(100, 1) = MouseY()
DrawScreen
Until MouseHit(1)
For i = 0 To 99 //Käydään tallennetut sijainnit uusimmasta vanhimpaan
Text 1, 1, "SLOWMOTION"
Circle MouseRecord(i, 0) - 5, MouseRecord(i, 1) - 5, 10, 0
DrawScreen
Text 1, 1, "SLOWMOTION" //Näytetään nykyisen ja seuraavan keskikohta, jolloin animaatio pyörii puolinopeudella, mutta sulavasti
X = (MouseRecord(i, 0) + MouseRecord(i + 1, 0)) / 2
Y = (MouseRecord(i, 1) + MouseRecord(i + 1, 1)) / 2
Circle X - 5, Y - 5, 10, 0
DrawScreen
Next i
Goto alku
Re: Tyhmät kysymykset (I/2011)
Kun yritän näyttää windows movie maker:illa tehdyn videon tulee Error Memory access violation. Miksi? olen aivan sataprosenttisen varma että mulla on kaikki "nimet" oikein ja tälläset.
Re: Tyhmät kysymykset (I/2011)
Mitäs tiedostoa yrität toistaa? Onko tiedoston pääte .avi? Laita koodinpätkä tulemaan niin nähdään, onko siinä varmasti kaikki oikein.Ihminen wrote:Kun yritän näyttää windows movie maker:illa tehdyn videon tulee Error Memory access violation. Miksi? olen aivan sataprosenttisen varma että mulla on kaikki "nimet" oikein ja tälläset.
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)
pääte on .MSWMM...VesQ wrote:Mitäs tiedostoa yrität toistaa? Onko tiedoston pääte .avi? Laita koodinpätkä tulemaan niin nähdään, onko siinä varmasti kaikki oikein.Ihminen wrote:Kun yritän näyttää windows movie maker:illa tehdyn videon tulee Error Memory access violation. Miksi? olen aivan sataprosenttisen varma että mulla on kaikki "nimet" oikein ja tälläset.
no tässä kuitenkin tää mitä mä yritän...
Code: Select all
SCREEN 320,240,0,cbsizable
valinta = 1
valinnat = 3
Dim sana$(valinnat)
sana(1) = "PLAY"
sana(2) = "tekijät"
sana(3) = "lopeta"
While Not life
If valinta > 1 And KeyHit(cbkeyup) Then valinta - 1
If valinta < valinnat And KeyHit(cbkeydown) Then valinta + 1
For i=1 To valinnat
If valinta = i Then Color cbred Else Color cbwhite
Text 100,i*20,sana(i)
Next i
If KeyHit(cbkeyreturn) Then
Select valinta
Case 1
FrameLimit 30
map = LoadMap("testi","textures.bmp")
PlayObject map,0,0,0.5
vasen=LoadAnimObject("characterrun2.bmp",47,51,0,13)
MaskObject vasen, cbMagenta
ShowObject vasen, OFF
oikea=LoadAnimObject("characterrun1.bmp",47,51,0,13)
MaskObject oikea, cbMagenta
ShowObject oikea, OFF
ylös=LoadAnimObject("characterrun4.bmp",47,51,0,13)
MaskObject ylös, cbMagenta
ShowObject ylös, OFF
alas=LoadAnimObject("characterrun3.bmp",47,51,0,13)
MaskObject alas, cbMagenta
ShowObject alas, OFF
taistelu=LoadImage("taistelu.bmp")
vihu = LoadObject("enemy.bmp")
PositionObject vihu, 100, 0
lyönti=PlayAnimation("testi.mswmm")
pelihahmo=CloneObject(oikea)
SetupCollision pelihahmo, map, 1, 4, 2
ObjectRange pelihahmo, 30, 51
SetupCollision pelihahmo,vihu, 2, 2, 1
Repeat
If UpKey() Then
PaintObject pelihahmo,ylös
PlayObject pelihahmo,2,11,0.25
MoveObject pelihahmo, 0,-5
CloneCameraPosition pelihahmo
ElseIf DownKey() Then
PaintObject pelihahmo,alas
PlayObject pelihahmo,2,11,0.25
MoveObject pelihahmo, 0,5
CloneCameraPosition pelihahmo
ElseIf RightKey() Then
PaintObject pelihahmo,oikea
PlayObject pelihahmo,2,11,0.25
MoveObject pelihahmo, 5
CloneCameraPosition pelihahmo
ElseIf ObjectsOverlap (pelihahmo, vihu) Then
MoveCamera To 120, 35
DrawImage taistelu, 33, 50
If KeyDown (cbKeyS) And ObjectsOverlap (pelihahmo, vihu) Then
DrawAnimation lyönti
EndIf
ElseIf LeftKey() Then
PaintObject pelihahmo,vasen
PlayObject pelihahmo,2,11,0.25
MoveObject pelihahmo, -5
CloneCameraPosition pelihahmo
EndIf
Re: Tyhmät kysymykset (I/2011)
Renderöi video Movie Makerilla .avi - muotoon.Ihminen wrote:pääte on .MSWMM...VesQ wrote:Mitäs tiedostoa yrität toistaa? Onko tiedoston pääte .avi? Laita koodinpätkä tulemaan niin nähdään, onko siinä varmasti kaikki oikein.Ihminen wrote:Kun yritän näyttää windows movie maker:illa tehdyn videon tulee Error Memory access violation. Miksi? olen aivan sataprosenttisen varma että mulla on kaikki "nimet" oikein ja tälläset.
no tässä kuitenkin tää mitä mä yritän...
Re: Tyhmät kysymykset (I/2011)
Totanoin... Kun mä laitoin tälläsen että...
miksi se näyttää vaan nopeasti ensimmäisen kuvan tuosta animaatiosta, eikä koko animaatiota?
Kun laitoin tohon "KeyHit" kohtaan "KeyDown", se näyttää sen koko animaation jos pidän näppäintä pohjassa.
Mutta jos siis haluan laittaa että kun näppäintä "S" painetaan kerran, se näyttäisi koko animaation, miten se onnistuisi?
Code: Select all
If KeyHit (cbKeyS) And ObjectsOverlap (pelihahmo, vihu) Then
DrawAnimation lyönti
EndIf
miksi se näyttää vaan nopeasti ensimmäisen kuvan tuosta animaatiosta, eikä koko animaatiota?
Kun laitoin tohon "KeyHit" kohtaan "KeyDown", se näyttää sen koko animaation jos pidän näppäintä pohjassa.
Mutta jos siis haluan laittaa että kun näppäintä "S" painetaan kerran, se näyttäisi koko animaation, miten se onnistuisi?
Re: Tyhmät kysymykset (I/2011)
DrawAnimation piirtää animaation, joten sitä on kutsuttava, joka kerta silmukassa ja PlayAnimation aloittaa animaation toiston.Ihminen wrote:Totanoin... Kun mä laitoin tälläsen että...Code: Select all
If KeyHit (cbKeyS) And ObjectsOverlap (pelihahmo, vihu) Then DrawAnimation lyönti EndIf
miksi se näyttää vaan nopeasti ensimmäisen kuvan tuosta animaatiosta, eikä koko animaatiota?
Kun laitoin tohon "KeyHit" kohtaan "KeyDown", se näyttää sen koko animaation jos pidän näppäintä pohjassa.
Mutta jos siis haluan laittaa että kun näppäintä "S" painetaan kerran, se näyttäisi koko animaation, miten se onnistuisi?
Todennäköisesti haluat, että animaatio näytetään kokonaan kun S:ssää on painettu ja peli jatkuu sitten?
Siinä tapauksessa tälläinen silmukka voisi olla kätevä:
Code: Select all
If KeyHit (cbKeyS) And ObjectsOverlap (pelihahmo, vihu) Then
//tässä kannattaa piilottaa objectit, että ne eivät näy päällä...
animaatio = PlayAnimation("animaation polku") //Aloitetaan toisto
repeat
DrawAnimation animaatio //Piirretään animaation ruudulle
DrawScreen
Until Not AnimationPlaying(animaatio) //Kun animaatio on toistettu jatketaan...
//Tässä objektit takaisin näkyviksi...
EndIf
-
- Devoted Member
- Posts: 718
- Joined: Wed Nov 03, 2010 7:56 pm
- Location: Joku piste pohjoisessa.
Re: Tyhmät kysymykset (I/2011)
Itse käytän tälläistä koodinpätkää dilemman ratkaisuun. (laita repeat:foreverin sisään)
Code: Select all
If KeyHit(cbKeyS) Then playing=ON 'pannaan playing-muuttuja päälle
If ObjectFrame(ukko)<3.5 And ObjectFrame(ch)>2.5 Then chplaying=OFF 'Kun saavutetaan haluttu
'kohta niin animaatio pysäytetään
If playing=ON Then 'Jos on playing päällä, toistetaan
PlayObject ukko,0,3,0.2,OFF
Else
StopObject ukko
PlayObject ukko,0 'Jos ei ole playing päällä, niin lopetetaan animaatio ja laitetaan alkuun
EndIf
<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
-
- Devoted Member
- Posts: 718
- Joined: Wed Nov 03, 2010 7:56 pm
- Location: Joku piste pohjoisessa.
Re: Tyhmät kysymykset (I/2011)
Niin, mutta ratkaisussasihan kaikki muu jäätyisi (viholliset, pelin muu logiikka...) toiston ajaksi, eikö niin?Latexi95 wrote:DrawAnimation piirtää animaation, joten sitä on kutsuttava, joka kerta silmukassa ja PlayAnimation aloittaa animaation toiston.Ihminen wrote:Totanoin... Kun mä laitoin tälläsen että...Code: Select all
If KeyHit (cbKeyS) And ObjectsOverlap (pelihahmo, vihu) Then DrawAnimation lyönti EndIf
miksi se näyttää vaan nopeasti ensimmäisen kuvan tuosta animaatiosta, eikä koko animaatiota?
Kun laitoin tohon "KeyHit" kohtaan "KeyDown", se näyttää sen koko animaation jos pidän näppäintä pohjassa.
Mutta jos siis haluan laittaa että kun näppäintä "S" painetaan kerran, se näyttäisi koko animaation, miten se onnistuisi?
Todennäköisesti haluat, että animaatio näytetään kokonaan kun S:ssää on painettu ja peli jatkuu sitten?
Siinä tapauksessa tälläinen silmukka voisi olla kätevä:Code: Select all
If KeyHit (cbKeyS) And ObjectsOverlap (pelihahmo, vihu) Then //tässä kannattaa piilottaa objectit, että ne eivät näy päällä... animaatio = PlayAnimation("animaation polku") //Aloitetaan toisto repeat DrawAnimation animaatio //Piirretään animaation ruudulle DrawScreen Until Not AnimationPlaying(animaatio) //Kun animaatio on toistettu jatketaan... //Tässä objektit takaisin näkyviksi... EndIf
<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
Re: Tyhmät kysymykset (I/2011)
Totta, mutta niin on tarkoituskin. Ajattelin, että kyse on jostain vuoropohjaisesta tappelupelistä, ja ruudulle yritetään saada totain superisku-videon pätkää, tai jotain. Huomaa, että kysymyksessäkin oli DrawAnimation eli animaatiosta on kysymys eikä animoidusta objektista niin kuin esimerkissäsi...naputtelija wrote: Niin, mutta ratkaisussasihan kaikki muu jäätyisi (viholliset, pelin muu logiikka...) toiston ajaksi, eikö niin?
Itse jos lainaan toista editissä niin ensiksi painan "lainaa", niin kuin postaisin uuden viestin, mutta kopioinkin tekstin ja sitten edittaan sen viestiini kera [ quote="lainattavan nimi"] tagin... Mutta olisi kyllä ihan kätevää, jos edelliset viestit näkyisivät editoidessakin.
Re: Tyhmät kysymykset (I/2011)
Pisteet eli maalit ei näy.Fontin väri: Kokeilin kaikenlaisia värejä mitä päähän juolahti.Kentän väri valkoinen.
Aloittelija koodari joka
KOTISIVU