Ignore:
Timestamp:
2013-06-28 11:58:59 (10 years ago)
Author:
mitaivas
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2013/26/MaxL/Keulaa2/Keulaa/Keulaa/Keulaa.cs

    r4266 r4300  
    2424    Image maanAllaKuva = LoadImage("Maanalla"); 
    2525 
    26     //PhysicsObject Vartalo; 
    2726    PhysicsObject mopo = new PhysicsObject(250, 160); 
    2827    PhysicsObject Takarengas = new PhysicsObject(77, 77, Shape.Circle); 
     
    3332    PhysicsObject Kypara = new PhysicsObject(50, 50); 
    3433    PhysicsObject Palikka = new PhysicsObject(10, 10); 
     34    PhysicsObject Palikka2 = new PhysicsObject(10, 10); 
     35    IntMeter pisteLaskuri; 
    3536 
    3637    Vector eteen = new Vector(4500, 0); 
     
    4849        MultiSelectWindow alkuValikko = new MultiSelectWindow("Mopo peli", "Aloita", "Lopeta"); 
    4950 
     51        LuoPistelaskuri(); 
    5052        LuoOhjaimet(); 
    5153        LuoKentta(); 
    5254        LuoTausta(); 
     55        AddCollisionHandler(Eturengas, "taso", NollaaPisteet); 
    5356 
    5457        oikeaReuna = new Vector(Level.Right, -560); 
    55         taustanReuna = new Vector(Level.Right, -200); 
     58        taustanReuna = new Vector(0, 0); 
    5659 
    5760        Timer ajastin1 = new Timer(); 
    58         ajastin1.Interval = 0.1; 
     61        ajastin1.Interval = 0.01; 
    5962        ajastin1.Timeout += LisaaTasoja; 
     63        ajastin1.Timeout += TarkistaNopeus; 
    6064        ajastin1.Start(); 
    6165 
    6266        Timer ajastin2 = new Timer(); 
    63         ajastin2.Interval = 1.5; 
     67        ajastin2.Interval = 0.5; 
    6468        ajastin2.Timeout += LisaaTaustoja; 
    6569        ajastin2.Timeout += PoistaTasoja; 
    6670        ajastin2.Start(); 
    6771 
    68          
    69             
    70  
    7172        Gravity = new Vector(0, -1000); 
    7273        Camera.Follow(mopo); 
     
    7677    } 
    7778 
     79    void TarkistaNopeus() 
     80    {  
     81    if (mopo.Velocity.X < 0.01) 
     82    { pisteLaskuri.Reset(); } 
     83    } 
     84 
     85 
     86    void NollaaPisteet(PhysicsObject tormaaja, PhysicsObject kohde) 
     87    { 
     88        pisteLaskuri.Reset(); 
     89    } 
     90     
     91    void LuoPistelaskuri() 
     92    { 
     93        pisteLaskuri = new IntMeter(0); 
     94        pisteLaskuri.AddOverTime(1000, 1000); 
     95 
     96        Label pisteNaytto = new Label(); 
     97        pisteNaytto.X = Screen.Left + 100; 
     98        pisteNaytto.Y = Screen.Top - 100; 
     99        pisteNaytto.TextColor = Color.Black; 
     100        pisteNaytto.Color = Color.White; 
     101        pisteNaytto.BindTo(pisteLaskuri); 
     102        Add(pisteNaytto); 
     103    } 
    78104    void Kiihdyta(double kiihtyvyys) 
    79105    { 
     
    127153        Add(Takarengas, -1); 
    128154        AxleJoint Takaliitos = new AxleJoint(mopo, Takarengas); 
    129         Takaliitos.Softness = 0.5; 
     155        Takaliitos.Softness = 0.6; 
    130156        Add(Takaliitos); 
    131157 
     
    161187    { 
    162188        LuoTausta(); 
    163         taustanReuna.X += -600; 
     189        taustanReuna.X += Level.Width; 
    164190 
    165191    } 
     
    172198        Vartalo.X = -25; 
    173199        AxleJoint VartaloLiitos = new AxleJoint(mopo, Vartalo, new Vector(-25, Vartalo.Bottom + 10)); 
     200        //VartaloLiitos.Softness = 0.1; 
    174201        Vartalo.Mass = 2; 
    175202        Vartalo.Image = vartalonKuva; 
     
    202229        Palikka.Color = Color.Transparent; 
    203230 
     231        Palikka2.Mass = 1; 
     232        Palikka2.Y = mopo.X-30; 
     233        Palikka2.X = Vartalo.X; 
     234        Palikka2.CollisionIgnoreGroup = 1; 
     235        AxleJoint PalikkaLiitos2 = new AxleJoint(mopo, Palikka2); 
     236        Palikka2.Color = Color.Transparent; 
     237 
     238        Add(Palikka2, 3); 
     239        Add(PalikkaLiitos2); 
    204240        Add(Palikka); 
    205241        Add(PalikkaLiitos); 
     
    221257        Keyboard.Listen(Key.Up, ButtonState.Down, Kiihdyta, "Kaasu!", kaasu2); 
    222258        Keyboard.Listen(Key.Right, ButtonState.Down, Nojaus, "Nojaa eteen", Vartalo, eteen); 
     259        Keyboard.Listen(Key.Right, ButtonState.Down, Nojaus, null , Palikka2, taakse); 
    223260        Keyboard.Listen(Key.Left, ButtonState.Down, Nojaus, "Nojaa taakse", Vartalo, taakse); 
     261        Keyboard.Listen(Key.Left, ButtonState.Down, Nojaus, null , Palikka2, eteen); 
    224262 
    225263        Keyboard.Listen(Key.Down, ButtonState.Pressed, Jarru, "Jarru!", Eturengas, 0.2); 
    226         Keyboard.Listen(Key.Down, ButtonState.Released, JarruPois, "Jarru!", Eturengas); 
     264        Keyboard.Listen(Key.Down, ButtonState.Released, JarruPois, null, Eturengas, 1.0); 
    227265        Keyboard.Listen(Key.Down, ButtonState.Pressed, Jarru, "Jarru!", Takarengas, 0.6); 
    228         Keyboard.Listen(Key.Down, ButtonState.Released, JarruPois, "Jarru!", Eturengas); 
     266        Keyboard.Listen(Key.Down, ButtonState.Released, Jarru, null, Takarengas, 0.7); 
    229267 
    230268        Keyboard.Listen(Key.T, ButtonState.Pressed, Jarru, null, mopo, 0.0001); 
    231         Keyboard.Listen(Key.T, ButtonState.Released, JarruPois, null, mopo); 
     269        Keyboard.Listen(Key.T, ButtonState.Released, JarruPois, null, mopo, 1.0); 
     270 
    232271 
    233272        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Lopeta"); 
    234     } 
    235  
     273         
     274    } 
     275     
    236276    void Jarru(PhysicsObject rengas, double jarru) 
    237277    { 
    238278        rengas.AngularDamping = jarru; 
    239279    } 
    240     void JarruPois(PhysicsObject rengas) 
    241     { 
    242         rengas.AngularDamping = 1; 
     280    void JarruPois(PhysicsObject rengas2, double jarru2) 
     281    { 
     282       rengas2.AngularDamping = jarru2; 
    243283    } 
    244284 
     
    248288        taso.Position = paikka; 
    249289        taso.Image = maanKuva; 
     290        GameObject tausta = new GameObject(Screen.Width, Screen.Height); 
     291        tausta.Image = taustaKuva; 
     292        //Add(tausta); 
     293        tausta.Position = paikka; 
    250294        //taso.CollisionIgnoreGroup = 1; 
    251295        Add(taso); 
     296        taso.Restitution = 0; 
    252297        taso.KineticFriction = 1; 
    253298        //PhysicsObject maa = Level.CreateBottomBorder(0.2, true); 
    254299        //maa.KineticFriction = 1; 
     300        taso.Tag = "taso"; 
    255301         
    256302        tasot.Add(taso); 
     
    270316    void LuoTausta() 
    271317    { 
    272         //GameObject tausta = new GameObject(Screen.Width, Screen.Height); 
    273         //tausta.Image = taustaKuva; 
    274         //Add(tausta, -3); 
    275         Level.Background.Image = taustaKuva; 
    276         Level.Background.TileToLevel(); 
    277         //Layers[-3].RelativeTransition = new Vector(0.5, 0.5); 
    278         GameObject pilvet = new GameObject(Screen.Width, Screen.Height); 
    279         pilvet.Image = pilvenKuva; 
    280         Add(pilvet, -2); 
    281         Layers[-2].RelativeTransition = new Vector(0.5, 0.4); 
     318        if (Vector.Distance(mopo.Position, taustanReuna) < Level.Width * 2) 
     319        { 
     320 
     321 
     322            GameObject tausta = new GameObject(Level.Width, Level.Height); 
     323            tausta.Image = taustaKuva; 
     324            tausta.Position = taustanReuna; 
     325            Add(tausta, -3); 
     326 
     327            //Level.Background.Image = taustaKuva; 
     328            //Level.Background.TileToLevel(); 
     329            //Layers[-3].RelativeTransition = new Vector(0.5, 0.5); 
     330            GameObject pilvet = new GameObject(Level.Width, Screen.Height); 
     331            pilvet.Image = pilvenKuva; 
     332            pilvet.Position = taustanReuna; 
     333            Add(pilvet, -2); 
     334            Layers[-2].RelativeTransition = new Vector(0.5, 0.4); 
     335        } 
    282336    } 
    283337 
Note: See TracChangeset for help on using the changeset viewer.