Changeset 7369 for 2016/24


Ignore:
Timestamp:
2016-06-16 13:37:51 (7 years ago)
Author:
sieerinn
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2016/24/JustusL/Object_Ball/Object_Ball/Object_Ball/Object_Ball.cs

    r7368 r7369  
    1717 
    1818    Image[] painikeKuvat = LoadImages("kaariosa", "kyna", "palikka"); 
    19      
     19 
    2020 
    2121    Label hiiri; 
     
    2525 
    2626    int tyokalu = 0; 
     27    Vector hiirenEdellinenPaikka = Vector.Zero; 
    2728 
    2829 
     
    7778        Mouse.ListenWheel(Zoomaa, null); 
    7879 
     80        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, HiiriPainettu, null); 
    7981        Mouse.Listen(MouseButton.Left, ButtonState.Down, HiiriAlhaalla, null); 
    8082 
     
    8486    } 
    8587 
     88    void HiiriPainettu() 
     89    { 
     90        hiirenEdellinenPaikka = Mouse.PositionOnWorld; 
     91    } 
     92 
    8693    void HiiriAlhaalla() 
    8794    { 
    88         if (tyokalu == 1)  
    89         { 
    90             PhysicsObject piste = PhysicsObject.CreateStaticObject(5, 5); 
    91             piste.Position = Mouse.PositionOnWorld; 
    92             Add(piste); 
     95        if (tyokalu == 1) 
     96        { 
     97            Vector suunta = Mouse.PositionOnWorld - hiirenEdellinenPaikka; 
     98            int pallojenMaara = 1 + (int)Math.Round(suunta.Magnitude / 2.5); 
     99 
     100            for (int i = 0; i < pallojenMaara; i++) 
     101            { 
     102                PhysicsObject piste = PhysicsObject.CreateStaticObject(5, 5); 
     103                piste.Position = hiirenEdellinenPaikka + suunta * (i / (float)pallojenMaara); 
     104                piste.Color = Color.Black; 
     105                piste.Shape = Shape.Circle; 
     106                Add(piste); 
     107            } 
    93108        } 
     109 
     110        hiirenEdellinenPaikka = Mouse.PositionOnWorld; 
    94111    } 
    95112 
     
    117134        maali.X = 0; 
    118135        maali.Y = -100; 
    119         Add (maali); 
     136        Add(maali); 
    120137 
    121138 
     
    149166        Keyboard.Disable(Key.Enter); 
    150167 
    151          
     168 
    152169        ajastin = new Timer(); 
    153170        ajastin.Interval = 0.5; 
    154171        ajastin.Timeout += TarkistaNopeus; 
    155172        ajastin.Start(); 
    156          
     173 
    157174    } 
    158175 
     
    161178        if (pallo.Velocity.Magnitude < 0.3) 
    162179        { 
    163             
     180 
    164181            Havio(); 
    165182        } 
Note: See TracChangeset for help on using the changeset viewer.