Tyhmät kysymykset (I/2009)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
User avatar
Akatsuki
Member
Posts: 56
Joined: Thu Jan 03, 2008 2:39 pm
Location: Ylöjärvi
Contact:

Re: Tyhmät kysymykset

Post by Akatsuki » Tue Jan 08, 2008 8:59 pm

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






Älä kysy multa!

User avatar
CCE
Artist
Artist
Posts: 650
Joined: Mon Aug 27, 2007 9:53 pm

Re: Tyhmät kysymykset

Post by CCE » Tue Jan 08, 2008 9:35 pm

Uskoisin että ainakin piste tiedostopolun kansionimessä häiritsee latausta.
Ja olisi myös hyvä välttää ääkkösiä muuttujien nimeämisessä.

User avatar
Akatsuki
Member
Posts: 56
Joined: Thu Jan 03, 2008 2:39 pm
Location: Ylöjärvi
Contact:

Re: Tyhmät kysymykset

Post by Akatsuki » Tue Jan 08, 2008 9:40 pm

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:
Älä kysy multa!

User avatar
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm
Contact:

Re: Tyhmät kysymykset

Post by Koodiapina » Tue Jan 08, 2008 10:04 pm

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.
Olen liian älykäs ollakseni väärässä. Jos olet kanssani eri mieltä, suosittelen sinua pohtimaan omaa elämänkatsomustasi ja sen perusteita.

User avatar
Marcoder
Active Member
Posts: 120
Joined: Tue Aug 28, 2007 8:21 am

Re: Tyhmät kysymykset

Post by Marcoder » Wed Jan 09, 2008 9:57 am

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

User avatar
Akatsuki
Member
Posts: 56
Joined: Thu Jan 03, 2008 2:39 pm
Location: Ylöjärvi
Contact:

Re: Tyhmät kysymykset

Post by Akatsuki » Wed Jan 09, 2008 3:15 pm

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!
Älä kysy multa!

User avatar
Raspful
Member
Posts: 83
Joined: Tue Aug 28, 2007 2:40 pm
Location: Raisio
Contact:

Re: Tyhmät kysymykset

Post by Raspful » Wed Jan 09, 2008 5:25 pm

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-)
Tiimin kotisivut

Ydintuhon edistyminen:

Koodi=[70%]
Grafiikka=[60%]
Kentät=[40%]
Musiikki=[50%]

cheeshelmet.jr
Member
Posts: 75
Joined: Tue Aug 28, 2007 6:59 am

Re: Tyhmät kysymykset

Post by cheeshelmet.jr » Wed Jan 09, 2008 6:57 pm

Ongelmana on saada Const vakio muutetua tavalliseksi muuttujaksi mutta functiot eivät tunnista enään sitä muuttujana
missä vika?

User avatar
Marcoder
Active Member
Posts: 120
Joined: Tue Aug 28, 2007 8:21 am

Re: Tyhmät kysymykset

Post by Marcoder » Wed Jan 09, 2008 7:17 pm

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.

cheeshelmet.jr
Member
Posts: 75
Joined: Tue Aug 28, 2007 6:59 am

Re: Tyhmät kysymykset

Post by cheeshelmet.jr » Wed Jan 09, 2008 9:05 pm

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ä

cheeshelmet.jr
Member
Posts: 75
Joined: Tue Aug 28, 2007 6:59 am

Re: Tyhmät kysymykset

Post by cheeshelmet.jr » Thu Jan 10, 2008 9:01 am

kuinka olisi järkevintä laskea auton sladitus?

KOVIS

Re: Tyhmät kysymykset

Post by KOVIS » Thu Jan 10, 2008 6:43 pm

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ää?

User avatar
Pate5
Artist
Artist
Posts: 551
Joined: Tue Aug 28, 2007 4:53 pm
Location: Vantaa

Re: Tyhmät kysymykset

Post by Pate5 » Thu Jan 10, 2008 6:56 pm

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ä).
CoolBasic henkilökuntaa
Graafikko

KOVIS

Re: Tyhmät kysymykset

Post by KOVIS » Thu Jan 10, 2008 7:10 pm

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ä...

User avatar
ManualIntelligence
Newcomer
Posts: 38
Joined: Tue Sep 04, 2007 3:22 pm

Re: Tyhmät kysymykset

Post by ManualIntelligence » Thu Jan 10, 2008 9:27 pm

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
Progress of "Target Humanity":
> Koukussa Kalastukseen 2
> Koukussa Kalastukseen
> RistiNolla 07
> Offlimits Minigolf

User avatar
beg
Newcomer
Posts: 19
Joined: Fri Dec 14, 2007 3:08 pm

Re: Tyhmät kysymykset

Post by beg » Thu Jan 10, 2008 9:57 pm

Kysyisin yhtä tyhmää kysymystä eli miten saan nuo pelit/kuvat yms. jotka ovat rar muodossa pelattua/katsottua??? Tai siis millä ohjelmalla ne voidaan katsoa??

User avatar
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Tyhmät kysymykset

Post by koodaaja » Thu Jan 10, 2008 10:13 pm

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).

User avatar
Harakka
Advanced Member
Posts: 430
Joined: Mon Aug 27, 2007 9:08 pm
Location: Salo
Contact:

Re: Tyhmät kysymykset

Post by Harakka » Thu Jan 10, 2008 10:14 pm

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.
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)

User avatar
Misthema
Advanced Member
Posts: 312
Joined: Mon Aug 27, 2007 8:32 pm
Location: Turku, Finland
Contact:

Re: Tyhmät kysymykset

Post by Misthema » Fri Jan 11, 2008 3:49 am

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.

User avatar
Harakka
Advanced Member
Posts: 430
Joined: Mon Aug 27, 2007 9:08 pm
Location: Salo
Contact:

Re: Tyhmät kysymykset

Post by Harakka » Fri Jan 11, 2008 9:05 am

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
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)

Locked