Changeset 4805 for 2013


Ignore:
Timestamp:
2013-11-24 16:55:53 (6 years ago)
Author:
vesal
Message:

Kuvia

Location:
2013/anlakane/Tiernapojat
Files:
14 added
3 edited

Legend:

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

    r4804 r4805  
    4545 
    4646    //                                             sivu              taka               käsi 
    47     private Image[] herodeksenKuvat = { LoadImage("norsu"), LoadImage("norsu"), LoadImage("kasi"), LoadImage("miekka") }; 
    48     private Image[] muriaaninKuvat = { LoadImage("norsu"), LoadImage("norsu"), LoadImage("kasi"), LoadImage("miekka") }; 
    49     private Image[] knihdinKuvat = { LoadImage("norsu"), LoadImage("norsu"), LoadImage("kasi"), LoadImage("miekka") }; 
    50     private Image[] mankinKuvat = { LoadImage("norsu"), LoadImage("norsu"), LoadImage("kasi"), LoadImage("tahti") }; 
     47    private Image[] herodeksenKuvat = { LoadImage("TP_Herodes07"), LoadImage("TP_HerodesBack03"), LoadImage("TP_HerodesCrouch01"), LoadImage("TP_HerodesHand05"), LoadImage("TP_sword2"), LoadImage("TP_handle2"), LoadImage("TP_HerodesHead01"), LoadImage("TP_HerodesHeadBack01") }; 
     48    private Image[] muriaaninKuvat = { LoadImage("TP_Herodes07"), LoadImage("TP_Herodes07"), LoadImage("TP_HerodesCrouch01"),  LoadImage("TP_HerodesHand05"), LoadImage("miekka"), LoadImage("miekankahva"), LoadImage("TP_HerodesHead01"), LoadImage("TP_HerodesHeadBack01") }; 
     49    private Image[] knihdinKuvat = { LoadImage("TP_Herodes07"), LoadImage("TP_Herodes07"), LoadImage("TP_HerodesCrouch01"), LoadImage("TP_HerodesHand05"), LoadImage("miekka"), LoadImage("miekankahva"), LoadImage("TP_HerodesHead01"), LoadImage("TP_HerodesHeadBack01") }; 
     50    private Image[] mankinKuvat = { LoadImage("TP_Herodes07"), LoadImage("TP_Herodes07"), LoadImage("TP_HerodesCrouch01"), LoadImage("TP_HerodesHand05"), LoadImage("tahti"), LoadImage("tahti"), LoadImage("TP_HerodesHead01"), LoadImage("TP_HerodesHeadBack01") }; 
    5151 
    5252    private SoundEffect maaliAani = LoadSoundEffect("maali"); 
     
    124124 
    125125        AddCollisionHandler(poika, "tahti", TormaaTahteen); 
    126         // Add(poika1.KiinnitysVartaloon); 
     126        AddCollisionHandler(poika.Miekka, "tahti", TormaaTahteen); 
    127127        pojat.Add(poika); 
    128128    } 
     
    134134        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", poika, nopeus); 
    135135        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", poika, hyppyNopeus); 
    136         Keyboard.Listen(Key.Down, ButtonState.Pressed, Polvistu, "Pelaaja hyppää", poika, hyppyNopeus); 
     136        Keyboard.Listen(Key.Down, ButtonState.Pressed, Polvistu, "Pelaaja polvistuu", poika, hyppyNopeus); 
    137137        Keyboard.Listen(Key.Multiply, ButtonState.Pressed, () => poika.Pyorita(), "Pyöritä tähteä"); 
    138138 
    139         controller.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     139        // controller.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    140140        controller.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", poika, -nopeus); 
    141141        controller.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", poika, nopeus); 
    142         controller.Listen(Button.DPadUp, ButtonState.Down, Pois, "Pelaaja poispäin", poika, nopeus); 
    143         controller.Listen(Button.DPadDown, ButtonState.Down, Takaisin, "Pelaaja takaisinpäin", poika, nopeus); 
    144         controller.Listen(Button.Y, ButtonState.Down, Nouse, "Pelaaja nousee", poika, -nopeus); 
    145         controller.Listen(Button.A, ButtonState.Down, Polvistu, "Pelaaja polvistuu", poika, nopeus); 
     142        controller.Listen(Button.DPadUp, ButtonState.Down, () => poika.Pois(nopeus), "Pelaaja poispäin"); 
     143        controller.Listen(Button.DPadDown, ButtonState.Down, () => poika.Takaisin(nopeus), "Pelaaja takaisinpäin"); 
     144        controller.Listen(Button.Y, ButtonState.Pressed, () => poika.Nouse(nopeus), "Pelaaja nousee"); 
     145        //controller.Listen(Button.A, ButtonState.Down, Polvistu, "Pelaaja polvistuu", poika, nopeus); 
     146        controller.Listen(Button.A, ButtonState.Pressed, () => poika.KyykyynYlos(nopeus), "Kyykyyn/Ylös"); 
    146147        controller.Listen(Button.RightTrigger, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", poika, hyppyNopeus); 
    147148        controller.Listen(Button.RightShoulder, ButtonState.Pressed, () => poika.Pyorita(), "Pyöritä tähteä"); 
    148         controller.Listen(Button.X, ButtonState.Pressed, () => poika.MiekkaTuppeen(), "Miekka tuppeen"); 
     149        controller.Listen(Button.X, ButtonState.Pressed, () => poika.MiekkaSwap(), "Miekka pois/takaisin"); 
    149150        controller.Listen(Button.B, ButtonState.Pressed, () => poika.MiekkaEsiin(), "Miekka esiin"); 
    150151 
    151152        controller.ListenAnalog(AnalogControl.RightStick, 0.03, LiikutaKatta, "Liikuta kättä", poika); 
     153        controller.ListenAnalog(AnalogControl.LeftStick, 0.03, (a) => poika.KaannaPaa(a.StateVector.X * -70), "Käännä pää"); 
    152154 
    153155        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     
    156158    void LiikutaKatta(AnalogState a, Tiernapoika poika) 
    157159    { 
    158         double kulma = a.StateVector.Y * 90; 
    159         poika.LiikkuvaOsa.Tavoite = Angle.FromDegrees(kulma); 
     160        double kulma = a.StateVector.Y * 130; 
     161        poika.Osoita(kulma); 
    160162    } 
    161163 
     
    168170    { 
    169171        hahmo.Polvistu(nopeus); 
    170     } 
    171  
    172     void Nouse(Tiernapoika hahmo, double nopeus) 
    173     { 
    174         hahmo.Nouse(nopeus); 
    175     } 
    176  
    177     void Pois(Tiernapoika hahmo, double nopeus) 
    178     { 
    179         hahmo.Pois(nopeus); 
    180     } 
    181  
    182     void Takaisin(Tiernapoika hahmo, double nopeus) 
    183     { 
    184         hahmo.Takaisin(nopeus); 
    185172    } 
    186173 
     
    201188public class Tiernapoika : PlatformCharacter 
    202189{ 
    203  
    204     private KaantyvaOsa liikkuvaOsa; 
     190    private KaantyvaOsa paa; 
     191    private KaantyvaOsa kasi; 
     192    private PhysicsObject miekka; 
     193    private PhysicsObject miekankahva; 
     194 
    205195    private Direction suunta; 
    206196    private Vector koko; 
    207     private Vector liikkuvaKoko; 
     197 
     198    private Vector paanKoko; 
     199    private Vector kadenKoko; 
    208200    private Vector miekanKoko; 
     201    private Vector miekanKahvanKoko; 
     202 
     203    private Image etu; 
     204    private Image taka; 
     205    private Image kyykky; 
     206    private Image paaetu; 
     207    private Image paataka; 
     208 
    209209    private PhysicsGame peli; 
    210     private PhysicsObject miekka; 
    211  
    212     public KaantyvaOsa LiikkuvaOsa 
    213     { 
    214         get { return liikkuvaOsa; } 
     210 
     211    public KaantyvaOsa Kasi 
     212    { 
     213        get { return kasi; } 
     214    } 
     215 
     216    public PhysicsObject Miekka 
     217    { 
     218        get { return miekka; } 
    215219    } 
    216220 
     
    219223        : base(leveys, korkeus) 
    220224    { 
    221         Image = kuvat[0]; 
     225        etu = kuvat[0]; 
     226        taka = kuvat[1]; 
     227        kyykky = kuvat[2]; 
     228        Image = etu; 
     229        Height = Width * Image.Height / Image.Width; 
     230        koko = Size; 
     231        CollisionIgnoreGroup = 1; 
     232 
     233        paa = new KaantyvaOsa(1, 1); 
     234        paaetu = kuvat[6]; 
     235        paataka = kuvat[7]; 
     236        paa.Image = paaetu; 
     237        paa.Height = paa.Image.Height * Size.Y / Image.Height; 
     238        paa.Width = paa.Image.Width * Size.X / Image.Width; 
     239        paa.IgnoresGravity = true; 
     240        paa.CollisionIgnoreGroup = 1; 
     241        paanKoko = paa.Size; 
     242 
     243        Add(paa); 
     244        paa.Mass = 10000; 
     245        paa.Suunta = Direction.Left; 
    222246 
    223247        // Pojan oikea käsi 
    224         liikkuvaOsa = new KaantyvaOsa(leveys, korkeus / 4); 
    225         liikkuvaOsa.Left = Right - Width / 10; 
    226         liikkuvaOsa.Y = Top - Height / 4; 
    227         liikkuvaOsa.Color = Color.Gray; 
     248        kasi = new KaantyvaOsa(Height, Height); 
     249        kasi.Image = kuvat[3]; 
     250        kasi.Height = kasi.Image.Height * Height / Image.Height; 
     251        kasi.Width = kasi.Height / kasi.Image.Height * kasi.Image.Width; 
     252        kasi.Left = Right - Width / 10; 
     253        kasi.Y = Top - Height / 4; 
     254        kasi.Color = Color.Gray; 
    228255        // Poika ja käsi eivät saa törmätä toisiinsa 
    229         CollisionIgnoreGroup = 1; 
    230         liikkuvaOsa.CollisionIgnoreGroup = 1; 
    231         liikkuvaOsa.Image = kuvat[2]; 
    232         liikkuvaKoko = liikkuvaOsa.Size; 
    233         Add(liikkuvaOsa); 
     256        kasi.CollisionIgnoreGroup = 1; 
     257        kadenKoko = kasi.Size; 
     258        kasi.Mass = 2000; 
     259        Add(kasi); 
    234260 
    235261        DirectionChanged += new Action<Direction>(Kaantyi); 
    236         koko = Size; 
    237         Mass = 40000.0; 
     262        Mass = 5000.0; 
    238263        suunta = Direction.Right; 
    239264 
    240         miekka = new PhysicsObject(leveys * 1.5, 1); 
    241         miekka.Image = kuvat[3]; 
     265        miekka = new PhysicsObject(Height*0.7, 1); 
     266        miekka.Image = kuvat[4]; 
    242267        miekka.Height = miekka.Width * miekka.Image.Height / miekka.Image.Width; 
    243268        miekka.IgnoresGravity = true; 
     
    245270        miekanKoko = miekka.Size; 
    246271        miekka.Angle = Angle.FromDegrees(10); 
    247         liikkuvaOsa.Add(miekka); 
     272        kasi.Add(miekka); 
     273 
     274        miekankahva = new PhysicsObject(Height * 0.7, 1); 
     275        miekankahva.Position = new Vector(0, 0); 
     276        miekankahva.Image = kuvat[5]; 
     277        miekankahva.Height = miekankahva.Image.Height * miekanKoko.Y / miekka.Image.Height; 
     278        miekankahva.Width = miekankahva.Image.Width * miekanKoko.X / miekka.Image.Width; 
     279        miekankahva.IgnoresGravity = true; 
     280        miekankahva.CollisionIgnoreGroup = 1; 
     281        miekanKahvanKoko = miekankahva.Size; 
     282        miekankahva.Angle = Angle.FromDegrees(-20); 
     283        Add(miekankahva); 
     284 
    248285 
    249286        peli.Add(this, 1); 
    250287        //peli.Add(liikkuvaOsa); 
    251288        this.peli = peli; 
     289        MiekkaEsiin(); 
    252290        SaadaKoko(koko); 
    253291    } 
     
    255293    private void Kaantyi(Direction suunta) 
    256294    { 
     295        double suuntakerroin = 1; 
    257296        miekka.StopAngular(); 
    258         if (suunta == Direction.Left) 
    259         { 
    260             liikkuvaOsa.X = -Width / 2 * 0.9; 
    261             miekka.Angle = Angle.FromDegrees(-10); 
    262         } 
    263         else 
    264         { 
    265             liikkuvaOsa.X = Width / 2 * 0.9; 
    266             miekka.Angle = Angle.FromDegrees(10); 
    267         } 
    268         liikkuvaOsa.Suunta = suunta; 
     297        if (suunta == Direction.Left) suuntakerroin = -1; 
     298        miekka.Angle = Angle.FromDegrees(10*suuntakerroin); 
     299        miekankahva.Angle = Angle.FromDegrees(-20*suuntakerroin); 
     300        kasi.Suunta = suunta; 
     301        paa.Suunta = suunta; 
    269302        this.suunta = suunta; 
    270         liikkuvaOsa.Y = Height / 6; 
     303        kasi.Position = new Vector(Width / 2 * 0.85*suuntakerroin, Height * 0.27); 
     304        paa.Position = new Vector(Width * 0.1*suuntakerroin, Height * 0.3); 
    271305    } 
    272306 
     
    275309    { 
    276310        Size = uusikoko; 
    277         liikkuvaOsa.Size = liikkuvaKoko * Size.Y / koko.Y; 
    278         miekka.Size = miekanKoko * Size.Y / koko.Y; 
    279         miekka.Position = new Vector(liikkuvaOsa.Width / 2 - 10, 0); 
     311        double kerroin = Size.Y / koko.Y; 
     312        kasi.Size = kadenKoko * kerroin; 
     313        miekka.Size = miekanKoko * kerroin; 
     314        miekankahva.Size = miekanKahvanKoko * kerroin; 
     315        paa.Size = paanKoko * kerroin; 
     316        miekka.Position = new Vector(kasi.Width / 2 - 10, 0); 
    280317        Kaantyi(suunta); 
     318    } 
     319 
     320 
     321    public void Flip() 
     322    { 
     323        if (suunta == Direction.Left) Walk(0.1); 
     324        else Walk(-0.1); 
    281325    } 
    282326 
     
    286330        SaadaKoko(koko); 
    287331        Kaantyi(suunta); 
     332        Image = etu; 
    288333    } 
    289334 
     
    292337    { 
    293338        SaadaKoko(new Vector(Width, koko.Y / 2)); 
     339        MiekkaTuppeen(); 
     340        Image = kyykky; 
    294341    } 
    295342 
     
    301348        //  peli.Remove(this); 
    302349        //  peli.Add(this, -1); 
     350        if (Image != taka) 
     351        { 
     352            Image = taka; 
     353            paa.Image = paataka; 
     354            Flip(); 
     355        } 
    303356    } 
    304357 
     
    310363        // peli.Remove(this); 
    311364        // peli.Add(this, 1); 
     365        if (Image != etu) 
     366        { 
     367            Image = etu; 
     368            paa.Image = paaetu; 
     369            Flip(); 
     370        } 
    312371    } 
    313372 
     
    315374    { 
    316375        miekka.IsVisible = false; 
    317         liikkuvaOsa.Tavoite = Angle.FromDegrees(-90); 
     376        miekankahva.IsVisible = true; 
     377        Osoita(-110); 
    318378    } 
    319379 
    320380    internal void MiekkaEsiin() 
    321381    { 
     382        Osoita(-110); 
    322383        miekka.IsVisible = true; 
     384        miekankahva.IsVisible = false; 
    323385    } 
    324386 
     
    326388    { 
    327389        miekka.ApplyTorque(100000); 
     390    } 
     391 
     392    internal void MiekkaSwap() 
     393    { 
     394        if (miekka.IsVisible) MiekkaTuppeen(); else MiekkaEsiin(); 
     395    } 
     396 
     397    internal void KyykyynYlos(double nopeus) 
     398    { 
     399        if (Height < koko.Y * 0.6) Nouse(nopeus); else Polvistu(nopeus); 
     400    } 
     401 
     402    internal void Osoita(double kulma) 
     403    { 
     404        Kasi.Tavoite = Angle.FromDegrees(kulma); 
     405    } 
     406 
     407 
     408    public void KaannaPaa(double kulma) 
     409    { 
     410        paa.Tavoite = Angle.FromDegrees(kulma); 
    328411    } 
    329412} 
     
    347430    private Angle tavoite; 
    348431    private bool saavutettu = true; 
     432    private Direction suunta = Direction.Right; 
    349433    public Direction Suunta 
    350434    { 
     435        get { return suunta; } 
    351436        set 
    352437        { 
     438            if ( value != Suunta) FlipImage(); 
     439            suunta = value; 
    353440            if (value == Direction.Left) { suuntaero = vasen; s = -1; } else { suuntaero = oikea; s = 1; } 
    354441            Tavoite = Tavoite; 
     
    379466        if (Math.Abs(suunta) > d) 
    380467        { 
     468            if (suunta > 180) suunta = 360 - suunta; 
    381469            this.StopAngular(); 
    382470            this.ApplyTorque(10000000 * 35.0 * suunta); // kokeiltu hihavakio 
  • 2013/anlakane/Tiernapojat/Tiernapojat/TiernapojatContent/TiernapojatContent.contentproj

    r4803 r4805  
    8888    </Compile> 
    8989  </ItemGroup> 
     90  <ItemGroup> 
     91    <Compile Include="TP_Herodes03.png"> 
     92      <Name>TP_Herodes03</Name> 
     93      <Importer>TextureImporter</Importer> 
     94      <Processor>TextureProcessor</Processor> 
     95    </Compile> 
     96  </ItemGroup> 
     97  <ItemGroup> 
     98    <Compile Include="TP_HerodesHand03.png"> 
     99      <Name>TP_HerodesHand03</Name> 
     100      <Importer>TextureImporter</Importer> 
     101      <Processor>TextureProcessor</Processor> 
     102    </Compile> 
     103  </ItemGroup> 
     104  <ItemGroup> 
     105    <Compile Include="TP_Herodes05.png"> 
     106      <Name>TP_Herodes05</Name> 
     107      <Importer>TextureImporter</Importer> 
     108      <Processor>TextureProcessor</Processor> 
     109    </Compile> 
     110  </ItemGroup> 
     111  <ItemGroup> 
     112    <Compile Include="TP_HerodesHand04.png"> 
     113      <Name>TP_HerodesHand04</Name> 
     114      <Importer>TextureImporter</Importer> 
     115      <Processor>TextureProcessor</Processor> 
     116    </Compile> 
     117  </ItemGroup> 
     118  <ItemGroup> 
     119    <Compile Include="miekankahva.png"> 
     120      <Name>miekankahva</Name> 
     121      <Importer>TextureImporter</Importer> 
     122      <Processor>TextureProcessor</Processor> 
     123    </Compile> 
     124  </ItemGroup> 
     125  <ItemGroup> 
     126    <Compile Include="TP_Herodes07.png"> 
     127      <Name>TP_Herodes07</Name> 
     128      <Importer>TextureImporter</Importer> 
     129      <Processor>TextureProcessor</Processor> 
     130    </Compile> 
     131  </ItemGroup> 
     132  <ItemGroup> 
     133    <Compile Include="TP_HerodesHead01.png"> 
     134      <Name>TP_HerodesHead01</Name> 
     135      <Importer>TextureImporter</Importer> 
     136      <Processor>TextureProcessor</Processor> 
     137    </Compile> 
     138  </ItemGroup> 
     139  <ItemGroup> 
     140    <Compile Include="TP_HerodesBack02.png"> 
     141      <Name>TP_HerodesBack02</Name> 
     142      <Importer>TextureImporter</Importer> 
     143      <Processor>TextureProcessor</Processor> 
     144    </Compile> 
     145  </ItemGroup> 
     146  <ItemGroup> 
     147    <Compile Include="TP_HerodesHeadBack01.png"> 
     148      <Name>TP_HerodesHeadBack01</Name> 
     149      <Importer>TextureImporter</Importer> 
     150      <Processor>TextureProcessor</Processor> 
     151    </Compile> 
     152  </ItemGroup> 
     153  <ItemGroup> 
     154    <Compile Include="TP_sword2.png"> 
     155      <Name>TP_sword2</Name> 
     156      <Importer>TextureImporter</Importer> 
     157      <Processor>TextureProcessor</Processor> 
     158    </Compile> 
     159  </ItemGroup> 
     160  <ItemGroup> 
     161    <Compile Include="TP_handle2.png"> 
     162      <Name>TP_handle2</Name> 
     163      <Importer>TextureImporter</Importer> 
     164      <Processor>TextureProcessor</Processor> 
     165    </Compile> 
     166  </ItemGroup> 
     167  <ItemGroup> 
     168    <Compile Include="TP_HerodesCrouch01.png"> 
     169      <Name>TP_HerodesCrouch01</Name> 
     170      <Importer>TextureImporter</Importer> 
     171      <Processor>TextureProcessor</Processor> 
     172    </Compile> 
     173  </ItemGroup> 
     174  <ItemGroup> 
     175    <Compile Include="TP_HerodesBack03.png"> 
     176      <Name>TP_HerodesBack03</Name> 
     177      <Importer>TextureImporter</Importer> 
     178      <Processor>TextureProcessor</Processor> 
     179    </Compile> 
     180  </ItemGroup> 
     181  <ItemGroup> 
     182    <Compile Include="TP_HerodesHand05.png"> 
     183      <Name>TP_HerodesHand05</Name> 
     184      <Importer>TextureImporter</Importer> 
     185      <Processor>TextureProcessor</Processor> 
     186    </Compile> 
     187  </ItemGroup> 
    90188  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    91189  <!--  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.