Ignore:
Timestamp:
2016-07-06 11:32:48 (3 years ago)
Author:
karkaite
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2016/27/TuukkaH/LaiskiaisSiulaattori/LaiskiaisSiulaattori/LaiskiaisSiulaattori/LaiskiaisSiulaattori.cs

    r7794 r7856  
    1313    const int RUUDUN_KOKO = 40; 
    1414 
    15     PlatformCharacter pelaaja1; 
     15    PhysicsObject pelaaja1; 
    1616 
    17     Image pelaajanKuva = LoadImage("laiskiainen"); 
     17    GameObject oksa1; 
     18    GameObject oksa2; 
     19        GameObject oksa3; 
     20 
     21    Image pelaajanKuva = LoadImage("Laiskiainen"); 
    1822    Image tahtiKuva = LoadImage("tahti"); 
    1923 
     
    2226    public override void Begin() 
    2327    { 
    24         Gravity = new Vector(0, -1000); 
    25  
    2628        LuoKentta(); 
    2729        LisaaNappaimet(); 
     
    3537    { 
    3638        TileMap kentta = TileMap.FromLevelAsset("kentta1"); 
    37         kentta.SetTileMethod('#', LisaaTaso); 
     39        kentta.SetTileMethod('1', LisaaOksa1); 
     40        kentta.SetTileMethod('2', LisaaOksa2); 
     41        kentta.SetTileMethod('3', LisaaOksa3); 
    3842        kentta.SetTileMethod('*', LisaaTahti); 
    3943        kentta.SetTileMethod('N', LisaaPelaaja); 
     
    4347    } 
    4448 
    45     void LisaaTaso(Vector paikka, double leveys, double korkeus) 
     49    GameObject LuoOksa(Vector paikka, double leveys, double korkeus) 
    4650    { 
    47         PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    48         taso.Position = paikka; 
    49         taso.Color = Color.Green; 
    50         Add(taso); 
     51        GameObject oksa = new GameObject(Level.Width, korkeus * 0.2); 
     52        oksa.Position = paikka; 
     53        oksa.Left = Level.Left; 
     54        oksa.Color = Color.Brown; 
     55        Add(oksa); 
     56        return oksa; 
     57    } 
     58 
     59    void LisaaOksa1(Vector paikka, double leveys, double korkeus) 
     60    { 
     61        oksa1 = LuoOksa(paikka, leveys, korkeus); 
     62    } 
     63 
     64    void LisaaOksa2(Vector paikka, double leveys, double korkeus) 
     65    { 
     66        oksa2 = LuoOksa(paikka, leveys, korkeus); 
     67    } 
     68 
     69    void LisaaOksa3(Vector paikka, double leveys, double korkeus) 
     70    { 
     71        oksa3 = LuoOksa(paikka, leveys, korkeus); 
    5172    } 
    5273 
     
    6384    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    6485    { 
    65         pelaaja1 = new PlatformCharacter(leveys, korkeus); 
     86        pelaaja1 = new PhysicsObject(leveys * 3, korkeus * 3); 
    6687        pelaaja1.Position = paikka; 
    6788        pelaaja1.Mass = 4.0; 
     
    6990        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
    7091        Add(pelaaja1); 
     92 
     93        pelaaja1.Velocity = new Vector(nopeus, 0); 
    7194    } 
    7295 
     
    7699        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    77100 
    78         Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    79         Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
    80         Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     101        //Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
     102        Keyboard.Listen(Key.Q, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, oksa1); 
     103        Keyboard.Listen(Key.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, oksa2); 
     104        Keyboard.Listen(Key.Z, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, oksa3); 
    81105 
    82         ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    83  
    84         ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 
    85         ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
    86         ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    87106 
    88107        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    89108    } 
    90109 
    91     void Liikuta(PlatformCharacter hahmo, double nopeus) 
     110    void Hyppaa(PhysicsObject hahmo, GameObject oksa) 
    92111    { 
    93         hahmo.Walk(nopeus); 
    94     } 
    95  
    96     void Hyppaa(PlatformCharacter hahmo, double nopeus) 
    97     { 
    98         hahmo.Jump(nopeus); 
     112        hahmo.MoveTo(new Vector(hahmo.X,oksa.Y), 800, () => 
     113        { 
     114            pelaaja1.Velocity = new Vector(nopeus, 0); 
     115        }); 
    99116    } 
    100117 
Note: See TracChangeset for help on using the changeset viewer.