Changeset 4815


Ignore:
Timestamp:
2013-11-24 19:30:36 (6 years ago)
Author:
vesal
Message:

Kuvat luokkaan

Location:
2013/anlakane/Tiernapojat/Tiernapojat
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • 2013/anlakane/Tiernapojat/Tiernapojat/Tiernapojat/Tiernapojat.cs

    r4811 r4815  
    77using Jypeli.Widgets; 
    88 
     9public struct TiernapojanKuvat 
     10{ 
     11    public Image vartalo; 
     12    public Image vartaloTakaa; 
     13    public Image polvillaan; 
     14    public Image kasi; 
     15    public Image miekka; 
     16    public Image kahva; 
     17    public Image paa; 
     18    public Image paaTakaa; 
     19} 
    920 
    1021 
     
    2132"                        ", 
    2233"                        ", 
     34"                        ", 
     35"                        ", 
    2336"        *               ", 
    2437"      *  *    *         ", 
     
    4457    private Image miekankuva = LoadImage("miekka"); 
    4558 
    46     //                                             sivu              taka               käsi 
    47     private Image[] herodeksenKuvat = { LoadImage("TP_Herodes"), LoadImage("TP_HerodesBack"), LoadImage("TP_HerodesCrouch"), LoadImage("TP_HerodesHand"), LoadImage("TP_sword"), LoadImage("TP_handle"), LoadImage("TP_HerodesHead"), LoadImage("TP_HerodesHeadBack") }; 
    48     private Image[] murjaaninKuvat = { LoadImage("TP_Murjaani"), LoadImage("TP_MurjaaniBack"), LoadImage("TP_HerodesCrouch"), LoadImage("TP_HerodesHand"), LoadImage("TP_sword"), LoadImage("TP_handle"), LoadImage("TP_MurjaaniHead"), LoadImage("TP_MurjaaniHeadBack") }; 
    49     private Image[] knihdinKuvat = { LoadImage("TP_Knihti"), LoadImage("TP_KnihtiBack"), LoadImage("TP_HerodesCrouch"), LoadImage("TP_HerodesHand"), LoadImage("TP_sword"), LoadImage("miekankahva"), LoadImage("TP_KnihtiHead"), LoadImage("TP_KnihtiHeadBack") }; 
    50     private Image[] mankinKuvat = { LoadImage("TP_Herodes"), LoadImage("TP_Herodes"), LoadImage("TP_HerodesCrouch"), LoadImage("TP_HerodesHand"), LoadImage("tahti"), LoadImage("tahti"), LoadImage("TP_HerodesHead"), LoadImage("TP_HerodesHeadBack") }; 
     59    private TiernapojanKuvat herodeksenKuvat = new TiernapojanKuvat { vartalo = LoadImage("TP_Herodes"), vartaloTakaa = LoadImage("TP_HerodesBack"), polvillaan = LoadImage("TP_HerodesCrouch"), kasi = LoadImage("TP_HerodesHand"), miekka = LoadImage("TP_sword"), kahva = LoadImage("TP_handle"), paa = LoadImage("TP_HerodesHead"), paaTakaa = LoadImage("TP_HerodesHeadBack") }; 
     60    private TiernapojanKuvat murjaaninKuvat = new TiernapojanKuvat { vartalo = LoadImage("TP_Murjaani"), vartaloTakaa = LoadImage("TP_MurjaaniBack"), polvillaan = LoadImage("TP_MurjaaniCrouch"), kasi = LoadImage("TP_MurjaaniHand"), miekka = LoadImage("TP_sword"), kahva = LoadImage("TP_handle"), paa = LoadImage("TP_MurjaaniHead"), paaTakaa = LoadImage("TP_MurjaaniHeadBack") }; 
     61    private TiernapojanKuvat knihdinKuvat = new TiernapojanKuvat { vartalo = LoadImage("TP_Knihti"), vartaloTakaa = LoadImage("TP_KnihtiBack"), polvillaan = LoadImage("TP_HerodesCrouch"), kasi = LoadImage("TP_HerodesHand"), miekka = LoadImage("TP_sword"), kahva = LoadImage("TP_handle"), paa = LoadImage("TP_KnihtiHead"), paaTakaa = LoadImage("TP_KnihtiHeadBack") }; 
     62    private TiernapojanKuvat mankinKuvat = new TiernapojanKuvat { vartalo = LoadImage("TP_Herodes"), vartaloTakaa = LoadImage("TP_Herodes"), polvillaan = LoadImage("TP_HerodesCrouch"), kasi = LoadImage("TP_HerodesHand"), miekka = LoadImage("tahti"), kahva = LoadImage("tahti"), paa = LoadImage("TP_HerodesHead"), paaTakaa = LoadImage("TP_HerodesHeadBack") }; 
    5163 
    5264    private SoundEffect maaliAani = LoadSoundEffect("maali"); 
     
    7486        // Camera.StayInLevel = true; 
    7587    } 
     88 
    7689 
    7790    void LuoKentta() 
     
    8396        kentta.SetTileMethod('*', LisaaTahti); 
    8497        kentta.SetTileMethod('H', (p, l, k) => LisaaPelaaja(p, l, k, herodeksenKuvat)); 
    85         kentta.SetTileMethod('M', (p, l, k) => LisaaPelaaja(p, l*1.3, k*1.1, murjaaninKuvat)); 
    86         kentta.SetTileMethod('K', (p, l, k) => LisaaPelaaja(p, l*1.2, k*0.9, knihdinKuvat)); 
     98        kentta.SetTileMethod('M', (p, l, k) => LisaaPelaaja(p, l * 1.3, k * 1.1, murjaaninKuvat)); 
     99        kentta.SetTileMethod('K', (p, l, k) => LisaaPelaaja(p, l * 1.2, k * 0.9, knihdinKuvat)); 
    87100        kentta.SetTileMethod('N', (p, l, k) => LisaaPelaaja(p, l, k, mankinKuvat)); 
    88101        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
     
    91104    } 
    92105 
     106 
    93107    void LisaaTaso(Vector paikka, double leveys, double korkeus) 
    94108    { 
     
    99113    } 
    100114 
     115 
    101116    void LisaaPohjaTaso(Vector paikka, double leveys, double korkeus) 
    102117    { 
     
    106121        Add(taso); 
    107122    } 
     123 
    108124 
    109125    void LisaaTahti(Vector paikka, double leveys, double korkeus) 
     
    117133    } 
    118134 
    119     void LisaaPelaaja(Vector paikka, double leveys, double korkeus, Image[] kuvat) 
     135 
     136    void LisaaPelaaja(Vector paikka, double leveys, double korkeus, TiernapojanKuvat kuvat) 
    120137    { 
    121138        Tiernapoika poika = new Tiernapoika(this, leveys * 4, korkeus * 4, kuvat); 
     
    127144        pojat.Add(poika); 
    128145    } 
     146 
    129147 
    130148    void LisaaNappaimet(GamePad controller, Tiernapoika poika) 
     
    158176    } 
    159177 
     178 
    160179    void LiikutaKatta(AnalogState a, Tiernapoika poika) 
    161180    { 
     
    164183    } 
    165184 
     185 
    166186    void Liikuta(Tiernapoika hahmo, double nopeus) 
    167187    { 
     
    169189    } 
    170190 
     191 
    171192    void Polvistu(Tiernapoika hahmo, double nopeus) 
    172193    { 
    173194        hahmo.Polvistu(nopeus); 
    174195    } 
     196 
    175197 
    176198    void Hyppaa(Tiernapoika hahmo, double nopeus) 
     
    179201        hahmo.Jump(nopeus); 
    180202    } 
     203 
    181204 
    182205    void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti) 
     
    188211} 
    189212 
     213 
     214 
    190215public class Tiernapoika : PlatformCharacter 
    191216{ 
     217    // Tiernapojan osat 
    192218    private KaantyvaOsa paa; 
    193219    private KaantyvaOsa kasi; 
     
    195221    private PhysicsObject miekankahva; 
    196222 
    197     private Direction suunta; 
     223 
     224    // Alkuperäiset koot 
    198225    private Vector koko; 
    199  
    200226    private Vector paanKoko; 
    201227    private Vector kadenKoko; 
     
    203229    private Vector miekanKahvanKoko; 
    204230 
    205     private Image etu; 
    206     private Image taka; 
    207     private Image kyykky; 
    208     private Image paaetu; 
    209     private Image paataka; 
     231    private TiernapojanKuvat kuvat; 
     232 
     233    private Direction suunta; 
    210234 
    211235    private PhysicsGame peli; 
     
    222246 
    223247 
    224     public Tiernapoika(PhysicsGame peli, double leveys, double korkeus, Image[] kuvat) 
     248    public Tiernapoika(PhysicsGame peli, double leveys, double korkeus, TiernapojanKuvat kuvat) 
    225249        : base(leveys, korkeus) 
    226250    { 
    227         double suhde = korkeus/leveys; 
    228         etu = kuvat[0]; 
    229         taka = kuvat[1]; 
    230         kyykky = kuvat[2]; 
    231         Image = etu; 
     251        this.kuvat = kuvat; 
     252        double suhde = korkeus / leveys; 
     253        Image = kuvat.vartalo; 
    232254        Height = Width * Image.Height / Image.Width * suhde; 
    233255        koko = Size; 
    234256        CollisionIgnoreGroup = 1; 
     257        Mass = 5000.0; 
     258        suunta = Direction.Right; 
     259        DirectionChanged += new Action<Direction>(Kaantyi); 
    235260 
    236261        paa = new KaantyvaOsa(1, 1); 
    237         paaetu = kuvat[6]; 
    238         paataka = kuvat[7]; 
    239         paa.Image = paaetu; 
     262        paa.Image = kuvat.paa; 
    240263        paa.Height = paa.Image.Height * Size.Y / Image.Height; 
    241264        paa.Width = paa.Image.Width * Size.X / Image.Width; 
     
    243266        paa.CollisionIgnoreGroup = 1; 
    244267        paanKoko = paa.Size; 
    245  
    246         Add(paa); 
    247268        paa.Mass = 10000; 
    248269        paa.Suunta = Direction.Left; 
    249270 
     271        Add(paa); 
     272 
    250273        // Pojan oikea käsi 
    251274        kasi = new KaantyvaOsa(Height, Height); 
    252         kasi.Image = kuvat[3]; 
    253         kasi.Height = kasi.Image.Height * Height / Image.Height; 
    254         kasi.Width = kasi.Height / kasi.Image.Height * kasi.Image.Width; 
    255         kasi.Left = Right - Width / 10; 
    256         kasi.Y = Top - Height / 4; 
    257         kasi.Color = Color.Gray; 
     275        kasi.Image = kuvat.kasi; 
     276        kasi.Height = kasi.Image.Height * Height / Image.Height / suhde; 
     277        kasi.Width = kasi.Height / kasi.Image.Height * kasi.Image.Width * suhde; 
    258278        // Poika ja käsi eivät saa törmätä toisiinsa 
    259279        kasi.CollisionIgnoreGroup = 1; 
     
    262282        Add(kasi); 
    263283 
    264         DirectionChanged += new Action<Direction>(Kaantyi); 
    265         Mass = 5000.0; 
    266         suunta = Direction.Right; 
    267  
    268         miekka = new PhysicsObject(Height*0.7, 1); 
    269         miekka.Image = kuvat[4]; 
     284 
     285        miekka = new PhysicsObject(Height * 0.7, 1); 
     286        miekka.Image = kuvat.miekka; 
    270287        miekka.Height = miekka.Width * miekka.Image.Height / miekka.Image.Width; 
    271288        miekka.IgnoresGravity = true; 
     
    276293 
    277294        miekankahva = new PhysicsObject(Height * 0.7, 1); 
    278         miekankahva.Image = kuvat[5]; 
     295        miekankahva.Image = kuvat.kahva; 
    279296        miekankahva.Height = miekankahva.Image.Height * miekanKoko.Y / miekka.Image.Height; 
    280297        miekankahva.Width = miekankahva.Image.Width * miekanKoko.X / miekka.Image.Width; 
     
    285302        Add(miekankahva); 
    286303 
    287  
    288304        peli.Add(this, 1); 
    289         //peli.Add(liikkuvaOsa); 
    290305        this.peli = peli; 
    291306        MiekkaEsiin(); 
     
    298313        miekka.StopAngular(); 
    299314        if (suunta == Direction.Left) suuntakerroin = -1; 
    300         miekka.Angle = Angle.FromDegrees(10*suuntakerroin); 
    301         miekankahva.Angle = Angle.FromDegrees(-20*suuntakerroin); 
     315        miekka.Angle = Angle.FromDegrees(10 * suuntakerroin); 
     316        miekankahva.Angle = Angle.FromDegrees(-20 * suuntakerroin); 
    302317        kasi.Suunta = suunta; 
    303318        paa.Suunta = suunta; 
    304319        this.suunta = suunta; 
    305         kasi.Position = new Vector(Width / 2 * 0.85*suuntakerroin, Height * 0.27); 
    306         paa.Position = new Vector(Width * 0.1*suuntakerroin, Height * 0.3); 
    307     } 
    308  
    309  
    310     private void SaadaKoko(Vector uusikoko,bool myosMuut = true) 
     320 
     321        kasi.Position = new Vector(Width / 2 * 0.85 * suuntakerroin, Height * 0.27); 
     322        paa.Position = new Vector(Width * 0.1 * suuntakerroin, Height * 0.3); 
     323        miekankahva.Position = new Vector(0, Height * 0.1); 
     324        miekka.Position = new Vector(kasi.Width / 2 - 10, 0); 
     325    } 
     326 
     327 
     328    private void SaadaKoko(Vector uusikoko, bool myosMuut = true) 
    311329    { 
    312330        Size = uusikoko; 
     
    318336            miekankahva.Size = miekanKahvanKoko * kerroin; 
    319337            paa.Size = paanKoko * kerroin; 
    320             miekankahva.Position = new Vector(0, Height*0.1); 
    321             miekka.Position = new Vector(kasi.Width / 2 - 10, 0); 
    322338        } 
    323339        Kaantyi(suunta); 
     
    332348 
    333349 
    334     internal void Nouse(double nopeus) 
     350    public void Nouse(double nopeus) 
    335351    { 
    336352        SaadaKoko(koko); 
    337353        Kaantyi(suunta); 
    338         Image = etu; 
    339     } 
    340  
    341  
    342     internal void Polvistu(double nopeus) 
    343     { 
    344         SaadaKoko(new Vector(Width, koko.Y / 2),false); 
     354        Image = kuvat.vartalo; 
     355        paa.Image = kuvat.paa; 
     356    } 
     357 
     358 
     359    public void Polvistu(double nopeus) 
     360    { 
     361        SaadaKoko(new Vector(Width, koko.Y / 2), false); 
    345362        MiekkaTuppeen(); 
    346         Image = kyykky; 
    347     } 
    348  
    349  
    350     internal void Pois(double nopeus) 
     363        Image = kuvat.polvillaan; 
     364    } 
     365 
     366 
     367    public void Pois(double nopeus) 
    351368    { 
    352369        if (Height < koko.Y / 2) return; 
     
    354371        //  peli.Remove(this); 
    355372        //  peli.Add(this, -1); 
    356         if (Image != taka) 
    357         { 
    358             Image = taka; 
    359             paa.Image = paataka; 
     373        if (Image != kuvat.vartaloTakaa) 
     374        { 
     375            Image = kuvat.vartaloTakaa; 
     376            paa.Image = kuvat.paaTakaa; 
    360377            Flip(); 
    361378            miekankahva.IsVisible = false; 
     
    364381 
    365382 
    366     internal void Takaisin(double nopeus) 
     383    public void Takaisin(double nopeus) 
    367384    { 
    368385        if (Height > koko.Y) Nouse(nopeus); 
     
    370387        // peli.Remove(this); 
    371388        // peli.Add(this, 1); 
    372         if (Image != etu) 
    373         { 
    374             Image = etu; 
    375             paa.Image = paaetu; 
     389        if (Image != kuvat.vartalo) 
     390        { 
     391            Image = kuvat.vartalo; 
     392            paa.Image = kuvat.paa; 
    376393            Flip(); 
    377394            if (!miekka.IsVisible) miekankahva.IsVisible = true; 
     
    379396    } 
    380397 
    381     internal void MiekkaTuppeen() 
     398    public void MiekkaTuppeen() 
    382399    { 
    383400        miekka.IsVisible = false; 
     
    386403    } 
    387404 
    388     internal void MiekkaEsiin() 
     405    public void MiekkaEsiin() 
    389406    { 
    390407        Osoita(-110); 
     
    393410    } 
    394411 
    395     internal void Pyorita() 
     412    public void Pyorita() 
    396413    { 
    397414        miekka.ApplyTorque(100000); 
    398415    } 
    399416 
    400     internal void MiekkaSwap() 
     417    public void MiekkaSwap() 
    401418    { 
    402419        if (miekka.IsVisible) MiekkaTuppeen(); else MiekkaEsiin(); 
    403420    } 
    404421 
    405     internal void KyykyynYlos(double nopeus) 
     422    public void KyykyynYlos(double nopeus) 
    406423    { 
    407424        if (Height < koko.Y * 0.6) Nouse(nopeus); else Polvistu(nopeus); 
    408425    } 
    409426 
    410     internal void Osoita(double kulma) 
    411     { 
     427    public void Osoita(double kulma) 
     428    { 
     429        miekka.StopAngular(); 
    412430        Kasi.Tavoite = Angle.FromDegrees(kulma); 
    413431    } 
     
    423441/// @author  Vesa Lappalainen 
    424442/// @version 16.10.2011 
     443/// @version 24.11.2013 
    425444/// <summary> 
    426445/// Osa, jolle voidaan asettaa suunta johon se pyrkii. 
     446/// Suunta käännetään toisinpäin jos ollaan menossa vasemmalle. 
    427447/// </summary> 
    428448public class KaantyvaOsa : PhysicsObject 
     
    444464        set 
    445465        { 
    446             if ( value != Suunta) FlipImage(); 
     466            if (value != Suunta) FlipImage(); 
    447467            suunta = value; 
    448468            if (value == Direction.Left) { suuntaero = vasen; s = -1; } else { suuntaero = oikea; s = 1; } 
     
    463483 
    464484    /// <summary> 
    465     /// Uusi versio Update-metodista, jossa nyt käännetään mailaa kohti tavoitekulmaa. 
     485    /// Uusi versio Update-metodista, jossa nyt käännetään osaa kohti tavoitekulmaa. 
    466486    /// </summary> 
    467487    /// <param name="time">Peliaika</param> 
  • 2013/anlakane/Tiernapojat/Tiernapojat/TiernapojatContent/TiernapojatContent.contentproj

    r4811 r4815  
    197197    </Compile> 
    198198  </ItemGroup> 
     199  <ItemGroup> 
     200    <Compile Include="TP_MurjaaniCrouch.png"> 
     201      <Name>TP_MurjaaniCrouch</Name> 
     202      <Importer>TextureImporter</Importer> 
     203      <Processor>TextureProcessor</Processor> 
     204    </Compile> 
     205  </ItemGroup> 
     206  <ItemGroup> 
     207    <Compile Include="TP_MurjaaniHand.png"> 
     208      <Name>TP_MurjaaniHand</Name> 
     209      <Importer>TextureImporter</Importer> 
     210      <Processor>TextureProcessor</Processor> 
     211    </Compile> 
     212  </ItemGroup> 
    199213  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    200214  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
Note: See TracChangeset for help on using the changeset viewer.