animointi + hiiri naksuttelu

Voit pyytää apua ohjelmointiongelmiin täältä.
Post Reply
Mazku
Newcomer
Posts: 12
Joined: Wed Mar 12, 2008 11:33 am

animointi + hiiri naksuttelu

Post by Mazku »

Ongelma nro. 2 & 3

Eli onko järkevää tehdä animointia, esim kävelyä, monesta bmp filusta vai kuvat laittaa yhteen bmp filuun ja siitä frameilla? Ideoita, miten olisi helpointa laittaa ne kuvat yhteen tiedostoon? Liikkeitä on monia ja kuvien määrä vaihtelee 6-10. Myös joka suuntaan on eri kuvat eli esim hyökkäs kuvia on 8x7...


Sitten samantapainen ongelma hiiren naksuttelun kanssa. Kuinka olisi helpoin keino löytää se oikea animaatio, esim jos painan hiirtä oikeanyläkulman suuntaa niin se näyttäisi myös että kävelee sinne oikeaan yläkulmaan, ja alas, ylös, alakulmat myös. Nyt kun clickaan hiirtä niin se näyttää sen vakio animaation eli ylöspäin kävelyn vaikka hahmo liikkuu alas...
Myst!c
Advanced Member
Posts: 259
Joined: Fri Dec 21, 2007 11:49 am
Location: Kemi

Re: animointi + hiiri naksuttelu

Post by Myst!c »

Animaatio, esim. kävely tehdään tietenkin yhdellä kuvalla, pistät ne janaan. Pysty- tai vaaka suunnassa ja jos haluat niin voit tehdä kävelyn, lyönnin, juoksemisen samaan tiedostoon ja kaikki samaan janaan, poimit vain koodilla oikeat framet kuvasta.

Katso oppitunti 19. :)
Every Legend Has A Start!
Mazku
Newcomer
Posts: 12
Joined: Wed Mar 12, 2008 11:33 am

Re: animointi + hiiri naksuttelu

Post by Mazku »

kuinkas jos kuvien koko on jo 64x64 ja 128x128, onko mitään keinoa "piilottaa" kuvat, että niitä ei voisi kopioida sitten julkaisun jälkeen?

tehdessä karttaa, tilegenillä, huomasin että ainakun vaihdan kuvaa mistä ottaisin niitä tilejä ni se peittää ekalla framella koko alueen... eli en voi käyttää kuin yhtä kuvaa aina yhden kentän tekemiseen?

tuli vielä mieleen että onko tiedossa mitää softaa millä olis helppo tehdä spritejä?
otto90x
Advanced Member
Posts: 349
Joined: Mon Aug 27, 2007 9:00 pm
Location: Lapinjärvi, Finland
Contact:

Re: animointi + hiiri naksuttelu

Post by otto90x »

Teinpä joskus tälläisen systeemin jos tästä vaikka olisi apua.

Eli ehdotan että laitat kaikki samaan kuvaan, tällä systeemillä voit sitten pilkkoa niitä helposti pienemmiksi.

Code: Select all

hahmo=LoadAnimObject2("Media\zerorun1.bmp","leveys=47|korkeus=51|alku=0|pituus=13","seiso=0|juokse=2-11|hyppää=12-0",0) 
 
Repeat

    If KeyDown(cbkeyup) Then 
        PlayObject2(hahmo,"hyppää")
    ElseIf KeyDown(cbkeyright) Then 
        PlayObject2(hahmo,"juokse",0.15)
    Else
        PlayObject2(hahmo,"seiso")
    EndIf
    
    DrawScreen

Forever
 

Function LoadAnimObject2(polku$,animation$,_steps$,_rot=0)
      
    If FileExists(polku$) Then 

        width=int(readsetup(animation$,"leveys","|"))
        height=int(readsetup(animation$,"korkeus","|"))
        alku=int(readsetup(animation$,"alku","|"))
        loppu=int(readsetup(animation$,"pituus","|"))

        If width And height And loppu Then 
            Objekti=LoadAnimObject(polku$,width,height,alku,loppu,_rot)
            ObjectString Objekti,"alku="+alku+"|"+"loppu="+(loppu-1)+"|"+_steps$
        Else 
            Objekti=LoadObject(polku$,_rot)
        EndIf
        
        Return Objekti

    EndIf
    
End Function

Function PlayObject2(_obj,_animaatio$,_speed#=0.1,_con=0)

        anim$=readsetup(ObjectString (_Obj),_animaatio$,"|")
        
        If CountWords(anim$,"-")>1 Then 
            LoopObject _obj,Int(GetWord(anim$,1,"-")),Int(GetWord(anim$,2,"-")),_speed#,_con
        ElseIf CountWords(anim$,"-")=1 Then
            PlayObject _obj,Int(anim$),Int(anim$),_speed#,_con
        ElseIf CountWords(anim$,"-")=0 Then 
            PlayObject _obj,Int(anim$),Int(anim$),_speed#,_con
        EndIf 

End Function 

Function ReadSetup(_setup$,_entry$,_erotin$=" ")

    lenght=CountWords(_setup$,_erotin$)
    
    For i=1 To lenght
        word$=GetWord(_setup$,i,_erotin$)
        If Lower(GetWord(word$,1,"="))=Lower(_entry$) Then Return Lower(Str(GetWord(word$,2,"=")))
    Next i
    
    Return ""

End Function 
Otto Martikainen a.k.a. MetalRain, otto90x, kAATOSade.
Runoblogi, vuodatusta ja sekoiluja.
Mazku
Newcomer
Posts: 12
Joined: Wed Mar 12, 2008 11:33 am

Re: animointi + hiiri naksuttelu

Post by Mazku »

Jeps, tutkin tuossa laittamaasi koodia, ja fiksulta näyttää, vois kokeillakin tulevaisuudessa. Tässä kenttää tehdessä on vielä ongelma. Mulla on jokainen rakennus eri tilessä, koska eivät ole minun itse tekemiä, maasto taas on kaikki eri kuvissa, hiekka, nurmikot, kivet, kalliot yms. Pitäisikö minun jotenkin saada kaikki nuo 128x128 kuvat mahtumaan yhteen TOSI isoon bmp filuun jotta voin sitten tileinä tehdä tilesterillä, tai tilegenillä kentän? Koska tähän asti aina kun otan siihen rakennuksen esim, ja sitten haluaisin laittaa maastoa, niin aina kun vaihdan tile kuvaa niin se ensinmäisellä framella peittää koko kuvan... esim katon reunalla.

vai olisiko helpompaa jo tehdä kenttä lataamalla kuva esim alustaksi ja leikkaamalla eri kuviin ne rakennukset ja laittaa objekteina?
Myst!c
Advanced Member
Posts: 259
Joined: Fri Dec 21, 2007 11:49 am
Location: Kemi

Re: animointi + hiiri naksuttelu

Post by Myst!c »

Mielestäni sen PITÄÄ olla samassa .bmp tai .png jne. tiedostossa, yksi tilesetti ja teet sen tile-editointi ohjelmalla, suosittelen A Stigmatorii. :)
Every Legend Has A Start!
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: animointi + hiiri naksuttelu

Post by koodaaja »

Ei tämä mikään mielipidekysymys ole (ellei halua ruveta EditMapilla kikkailemaan) Kyllä ne on kaikki oltava samassa tiedostossa, jos tilekartan teet. Toki voit tehdä myös erillisillä objekteilla, mutta ilman tiedostoja lukevan oman karttasysteemin tekemistä siitä tulee epäkäytännöllistä purkkaa, voin luvata. Että yhteen fileen änget niin säästyt paljolta.
Post Reply