Changeset 1589


Ignore:
Timestamp:
2010-08-04 12:43:19 (13 years ago)
Author:
tekrjant
Message:

miekan heilutusta.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/30/tekrjant/Seikkailu/Peli.cs

    r1582 r1589  
    3636    const double PelaajanKulmanopeus = 3.0; 
    3737 
     38    enum HeilutusTila 
     39    { 
     40        EiHeiluta, 
     41        Heiluttaa, 
     42    } 
     43 
     44    TimeSpan heilutuksenAloitusAika; 
     45    HeilutusTila heilutusTila = HeilutusTila.EiHeiluta; 
     46 
    3847    List<GameObject> ruohot = new List<GameObject>(); 
    3948 
     
    249258    protected override void Update( Time time ) 
    250259    { 
     260        // tähän miekan ym. olion heilutus 
     261        if ( heilutusTila == HeilutusTila.Heiluttaa ) 
     262        { 
     263            GameObject miekkaa = esineValikko.ValittuEsine.Klooni; 
     264            Vector aloitusPaikka = EsineenPaikkaKadessa( miekkaa ); 
     265            const double heilutusAikaSekunteina = 1.0; 
     266            double sekuntejaKulunut = ( Time.SinceStartOfGame - heilutuksenAloitusAika ).TotalSeconds; 
     267            double vaihe = sekuntejaKulunut / heilutusAikaSekunteina; 
     268 
     269            miekkaa.Position = aloitusPaikka + vaihe * new Vector( 1, 0 ); 
     270 
     271            if ( sekuntejaKulunut > heilutusAikaSekunteina ) 
     272            { 
     273                miekkaa.Position = aloitusPaikka; 
     274                heilutusTila = HeilutusTila.EiHeiluta; 
     275            } 
     276        } 
     277 
     278 
    251279        base.Update( time ); 
    252280    } 
     
    307335        switch ( valittu.Tyyppi ) 
    308336        { 
     337            case EsineenTyyppi.Miekka: 
     338                heilutusTila = HeilutusTila.Heiluttaa; 
     339                heilutuksenAloitusAika = Time.SinceStartOfGame; 
     340                break; 
    309341            case EsineenTyyppi.TuliSauva: 
    310342                KaytaTaikaSauvaa(); 
     
    388420 
    389421        viimeksiKoskettuEsine = null; 
     422    } 
     423 
     424    Vector EsineenPaikkaKadessa( GameObject esine ) 
     425    { 
     426        Vector v; 
     427        v.X = pelaaja.Width / 2 + esine.Width / 4; 
     428        v.Y = 0; 
     429        return v; 
    390430    } 
    391431 
Note: See TracChangeset for help on using the changeset viewer.