Page 20 of 154

Re: Tyhmät kysymykset

Posted: Tue Jan 08, 2008 7:59 pm
by Akatsuki
Taas kerran minulla onkelma!
Peli sanoo että:
Error!Can't load map:"j.tapettimies\viidakko1.til!!!
What I must do??
No tässä se mapin lataus koodi:

Code: Select all

kenttä=LoadMap("j.tapettimies\viidakko1.til", "j.tapettimies\viidakko1.bmp")
Ja jos siitä ei löydy niin katsokaa koko koodi:

Code: Select all

FrameLimit 40

SCREEN 957,609

pv# = -0.1

yplus#=0

hiiri = LoadImage("j.tapettimies1\hiiri.bmp")
ShowMouse hiiri

logo = LoadImage("J.tapettimies1\logo.bmp")
uusi = LoadImage("j.tapettimies1\uusipeli.bmp")
poistu = LoadImage("j.tapettimies1\poistu.bmp")
lataa = LoadImage("j.tapettimies1\lataa.bmp")
Repeat

hiiriX=MouseX()
hiiriY=MouseY()

DrawImage logo,0,0
DrawImage uusi,55,294
DrawImage poistu,75,444
DrawImage lataa,775,65

Color cbred
Text 10,10,"X:" + hiiriX
Text 10,30,"Y:" + hiiriY

If ImagesOverlap(hiiri,MouseX(),MouseY(),uusi,55,294) And MouseHit(1) Then Exit

DrawScreen

Forever 


kenttä=LoadMap("j.tapettimies\viidakko1.til", "j.tapettimies\viidakko1.bmp")
PositionObject kenttä,0,50
PlayObject kenttä,0,0,0.5


checkpoint1= LoadObject("j.tapettimies1/checkpoint.bmp")
checkpoint2= LoadObject("j.tapettimies1/checkpoint.bmp")



oikea=LoadAnimObject("j.tapettimies1\pallo.bmp",47,51,0,4)
MaskObject oikea,cbMagenta
ShowObject oikea,OFF
ObjectRange oikea,30,51

vasen=LoadAnimObject("j.tapettimies1\pallo2.bmp",47,51,0,4)
MaskObject vasen,cbMagenta
ShowObject vasen,OFF
ObjectRange vasen,30,51

ukko =CloneObject(oikea)
SetupCollision ukko,kenttä,1,4,2
ObjectRange ukko,30,51

DrawScreen







Re: Tyhmät kysymykset

Posted: Tue Jan 08, 2008 8:35 pm
by CCE
Uskoisin että ainakin piste tiedostopolun kansionimessä häiritsee latausta.
Ja olisi myös hyvä välttää ääkkösiä muuttujien nimeämisessä.

Re: Tyhmät kysymykset

Posted: Tue Jan 08, 2008 8:40 pm
by Akatsuki
CCE wrote:Uskoisin että ainakin piste tiedostopolun kansionimessä häiritsee latausta.
Ja olisi myös hyvä välttää ääkkösiä muuttujien nimeämisessä.
Ei auttanut... Kiitos kummiskin... Help someone! :idea:

Re: Tyhmät kysymykset

Posted: Tue Jan 08, 2008 9:04 pm
by Koodiapina
Tiedostopolku on väärin. Laita sanan tapettimies perään 1, kuten noissa muissa latailuissa (kuten kuvat). Eli:

Code: Select all

kenttä=LoadMap("j.tapettimies1\viidakko1.til", "j.tapettimies1\viidakko1.bmp")
Ei toimi jos noissa kaikissa muissa on virhe, mutta sitä nyt ekana kannattaa kokeilla.

Re: Tyhmät kysymykset

Posted: Wed Jan 09, 2008 8:57 am
by Marcoder
Raspful wrote:Kyllä siellä on, mutta en ymmärrä pitäisikö minun siis laittaa ympyrän x ja y koordinaatit tuon "ympyrä_liikkuu" tilalle vai miten?
Tuo aiemmin antamani esimerkkikoodi ei tietenkään toimi sellaisenaan vaan se oli ns. pseudokoodia

Seuraavassa on simppeli esimerkki jossa ympyrä piirretän punaisella jos se on ollut paikallaan yli 2 sekuntia.
x- ja y-koordinaattien lisäksi siinä on myös edellisen pisteen koordinaatit ja jos ne poikkeavat toisistaan niin lyödään aikaleima muistiin josta tiedetään koska viimeksi liikkui.

Code: Select all

x = 0
y = 0
prevX = 0
prevY = 0
lastMove = 0
Repeat
    x = MouseX()
    y = MouseY()
    If x <> prevX Or y <> prevY Then
        prevX = x
        prevY = y
        lastMove = Timer()
    EndIf
    If lastMove + 2000 < Timer() Then Color 255, 0, 0 Else Color 255, 255, 255
    Circle x - 20, y - 20, 40, OFF
    DrawScreen
Forever

Re: Tyhmät kysymykset

Posted: Wed Jan 09, 2008 2:15 pm
by Akatsuki
Grandi wrote:Tiedostopolku on väärin. Laita sanan tapettimies perään 1, kuten noissa muissa latailuissa (kuten kuvat). Eli:

Code: Select all

kenttä=LoadMap("j.tapettimies1\viidakko1.til", "j.tapettimies1\viidakko1.bmp")
Ei toimi jos noissa kaikissa muissa on virhe, mutta sitä nyt ekana kannattaa kokeilla.
Kiitos Grandi! :D
Nyt toimii!

Re: Tyhmät kysymykset

Posted: Wed Jan 09, 2008 4:25 pm
by Raspful
Marcoder wrote:
Raspful wrote:Kyllä siellä on, mutta en ymmärrä pitäisikö minun siis laittaa ympyrän x ja y koordinaatit tuon "ympyrä_liikkuu" tilalle vai miten?
Tuo aiemmin antamani esimerkkikoodi ei tietenkään toimi sellaisenaan vaan se oli ns. pseudokoodia
Niin ajattelinkin, mutta en tiennyt miten saan tietää onko pallo liikkeessä vai paikallaan ja tuo arvaus oli vain toivoton yritys kun en muuta keksinyt.
Marcoder wrote: Seuraavassa on simppeli esimerkki jossa ympyrä piirretän punaisella jos se on ollut paikallaan yli 2 sekuntia.
x- ja y-koordinaattien lisäksi siinä on myös edellisen pisteen koordinaatit ja jos ne poikkeavat toisistaan niin lyödään aikaleima muistiin josta tiedetään koska viimeksi liikkui.

Code: Select all

x = 0
y = 0
prevX = 0
prevY = 0
lastMove = 0
Repeat
    x = MouseX()
    y = MouseY()
    If x <> prevX Or y <> prevY Then
        prevX = x
        prevY = y
        lastMove = Timer()
    EndIf
    If lastMove + 2000 < Timer() Then Color 255, 0, 0 Else Color 255, 255, 255
    Circle x - 20, y - 20, 40, OFF
    DrawScreen
Forever

No, niin nyt alan minäkin ymmärtämään miten se tehdään.


Suuri kiitos sinulle Marcoder! 8-)

Re: Tyhmät kysymykset

Posted: Wed Jan 09, 2008 5:57 pm
by cheeshelmet.jr
Ongelmana on saada Const vakio muutetua tavalliseksi muuttujaksi mutta functiot eivät tunnista enään sitä muuttujana
missä vika?

Re: Tyhmät kysymykset

Posted: Wed Jan 09, 2008 6:17 pm
by Marcoder
cheeshelmet.jr wrote:Ongelmana on saada Const vakio muutetua tavalliseksi muuttujaksi mutta functiot eivät tunnista enään sitä muuttujana
missä vika?
Vain globaali muuttuja näkyy funkkarin sisään. Eli esittele se globaaliksi.

Re: Tyhmät kysymykset

Posted: Wed Jan 09, 2008 8:05 pm
by cheeshelmet.jr
Marcoder wrote:
cheeshelmet.jr wrote:Ongelmana on saada Const vakio muutetua tavalliseksi muuttujaksi mutta functiot eivät tunnista enään sitä muuttujana
missä vika?
Vain globaali muuttuja näkyy funkkarin sisään. Eli esittele se globaaliksi.
kiitos tästä

Re: Tyhmät kysymykset

Posted: Thu Jan 10, 2008 8:01 am
by cheeshelmet.jr
kuinka olisi järkevintä laskea auton sladitus?

Re: Tyhmät kysymykset

Posted: Thu Jan 10, 2008 5:43 pm
by KOVIS
Kun objecti piilotetaan showobjectilla niin samalla ilmeisesti häviää sen törmäystunnistus. Eli piilotettu objecti voi kävellä kaiken läpi. Miten sen voisi estää?

Re: Tyhmät kysymykset

Posted: Thu Jan 10, 2008 5:56 pm
by Pate5
KOVIS wrote:Kun objecti piilotetaan showobjectilla niin samalla ilmeisesti häviää sen törmäystunnistus. Eli piilotettu objecti voi kävellä kaiken läpi. Miten sen voisi estää?
Laita ghostobject objekti,1

Muita vaihteohteja tämänhetkisessä cb:ssä ei ole(paitsi kovalla virityksellä).

Re: Tyhmät kysymykset

Posted: Thu Jan 10, 2008 6:10 pm
by KOVIS
KOVIS
Pate5 wrote:
KOVIS wrote:Kun objecti piilotetaan showobjectilla niin samalla ilmeisesti häviää sen törmäystunnistus. Eli piilotettu objecti voi kävellä kaiken läpi. Miten sen voisi estää?
Laita ghostobject objekti,1

Muita vaihteohteja tämänhetkisessä cb:ssä ei ole(paitsi kovalla virityksellä).
10 objectin kanssa fps laskee alle 10.Ei hyvä...

Re: Tyhmät kysymykset

Posted: Thu Jan 10, 2008 8:27 pm
by ManualIntelligence
KOVIS wrote:KOVIS
Pate5 wrote:
KOVIS wrote:Kun objecti piilotetaan showobjectilla niin samalla ilmeisesti häviää sen törmäystunnistus. Eli piilotettu objecti voi kävellä kaiken läpi. Miten sen voisi estää?
Laita ghostobject objekti,1

Muita vaihteohteja tämänhetkisessä cb:ssä ei ole(paitsi kovalla virityksellä).
10 objectin kanssa fps laskee alle 10.Ei hyvä...
Maalaa se paintobjectilla jollain läpinäkyvällä värillä.

Esim:

Code: Select all

kartta = LoadMap("Media\cdm2.til","Media\tileset.bmp")
PlayObject kartta,0,0,1

ukko = LoadObject ("Media\guy.bmp",72)

SetupCollision ukko, kartta, 1, 4, 2

ukko2=MakeObject()

kuva=MakeImage(30,30)

Color cbblack
DrawToImage kuva
Box 0,0,30,30
DrawToScreen

PaintObject ukko2,-kuva

Repeat


    'PAINA ENTERIÄ POISTAAKSESI UKON NÄKYVISTÄ!
    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 KeyHit (28) Then PaintObject ukko,ukko2
    UpdateGame

    CloneCameraPosition ukko

    DrawScreen

Forever

Re: Tyhmät kysymykset

Posted: Thu Jan 10, 2008 8:57 pm
by beg
Kysyisin yhtä tyhmää kysymystä eli miten saan nuo pelit/kuvat yms. jotka ovat rar muodossa pelattua/katsottua??? Tai siis millä ohjelmalla ne voidaan katsoa??

Re: Tyhmät kysymykset

Posted: Thu Jan 10, 2008 9:13 pm
by koodaaja
beg wrote:Kysyisin yhtä tyhmää kysymystä eli miten saan nuo pelit/kuvat yms. jotka ovat rar muodossa pelattua/katsottua??? Tai siis millä ohjelmalla ne voidaan katsoa??
Eh.. niiden oletusohjelmalla? Tuplaklikkaat .raria->winrar aukeaa ja näyttää sisällön, sieltä tuplaklikki->tiedosto aukeaa oletusohjelmalla, .exet ihan omina ohjelminansa (luonnollisesti).

Re: Tyhmät kysymykset

Posted: Thu Jan 10, 2008 9:14 pm
by Harakka
beg wrote:Kysyisin yhtä tyhmää kysymystä eli miten saan nuo pelit/kuvat yms. jotka ovat rar muodossa pelattua/katsottua??? Tai siis millä ohjelmalla ne voidaan katsoa??
Esimerkiksi WinRarilla, 7zipillä tai WinAcella.

Re: Tyhmät kysymykset

Posted: Fri Jan 11, 2008 2:49 am
by Misthema
En tiedä onko tämä tyhmä kysymys, mutta kuitenkin liian pieni omaan topikkiinsa.

Ongelmana siis on, etten saa törmäyksiä toimimaan, kun ukkeli liikkuu nuolinäppäimen painalluksesta 32px painettuun suuntaan. Eli se siis periaatteessa "hyppää" Hit-layerin seinien yli, niiden päälle. Ja kun siis, ideana on se, että ukko tosiaankin liikkuu palikkana 32 pikseliä / napin painallus, joten sitä en lähde ongelmani takia muuttamaan.

Heittäkääs esimerkkiä miten tällaisen liikkumisen törmäykset voisi tarkistaa. Kiitos.

Re: Tyhmät kysymykset

Posted: Fri Jan 11, 2008 8:05 am
by Harakka
Toimisiko näin?

Code: Select all

If KeyHit(cbkeyup) Then
  For dist = 1 to 32
    MoveObject ukko,1
  Next dist
EndIf
Tulikin mieleen järkevämpi vaihtoehto..

Code: Select all

ox = ObjectX(ukko)
oy = ObjectY(ukko)
If KeyHit(cbkeyup) Then
  If Not GetMap(2,ox,oy+32) Then TranslateObject ukko,0,32
Elseif KeyHit(cbkeydown) Then
  If Not GetMap(2,ox,oy-32) Then TranslateObject ukko,0,-32
ElseIf KeyHit(cbkeyleft) Then
  If Not GetMap(2,ox-32,oy) Then TranslateObject ukko,-32,0
ElseIf KeyHit(cbkeyright) Then
  If Not GetMap(2,ox+32,oy) Then TranslateObject ukko,32,0
EndIf
EDIT: Ja vielä järkevämpi:

Code: Select all

newX = ObjectX(ukko) + keyhit(cbright)*32 - KeyHit(cbkeyleft)*32
newY = ObjectY(ukko) + KeyHit(cbkeyup)*32 - keyhit(cbkeydown)*32

If not GetMap(2,newx,newy) then PositionObject ukko,newX,newY