Changeset 5972 for 2015/24


Ignore:
Timestamp:
2015-06-10 08:04:59 (4 years ago)
Author:
sieerinn
Message:

Kivipartikkeliefekti.

Location:
2015/24/ohjaajat/Dungeon/Dungeon/Dungeon
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • 2015/24/ohjaajat/Dungeon/Dungeon/Dungeon/Dungeon.cs

    r5970 r5972  
    6262    Image[] huoneKuvat = new Image[] { kulttuuriKuva1, kulttuuriKuva2, kulttuuriKuva3 }; 
    6363    Image[] vihuKuvat = LoadImages((from i in Enumerable.Range(1, 10) select String.Format("v{0:0000}", i)).ToArray()); 
     64    Image partikkeli = LoadImage("partikkeli"); 
    6465    #endregion 
    6566 
     
    193194    } 
    194195 
     196    void LuoKiviPartikkelit(Vector alkupaikka) 
     197    { 
     198        /*  Ei toimi koska jää huoneiden kattojen alle. 
     199        ExplosionSystem rajahdys = new ExplosionSystem(LoadImage("partikkeli"), 200); 
     200        Add(rajahdys); 
     201        rajahdys.AddEffect(paikka.X, paikka.Y, 20); 
     202         */ 
     203 
     204        for (int i = 0; i < 6; i++) 
     205        { 
     206            GameObject p = new GameObject(25, 25); 
     207            p.Image = partikkeli; 
     208            p.Position = alkupaikka + RandomGen.NextVector(0.0, RUUDUN_KOKO * 0.4); 
     209            Add(p, 3); 
     210 
     211            GameObject varjo = new GameObject(20, 10); 
     212            varjo.Position = p.Position; 
     213            varjo.Shape = Shape.Circle; 
     214            varjo.Color = Color.Lerp(Color.Black, Color.Transparent, 0.5); 
     215            Add(varjo, 2); 
     216 
     217            Vector paikka = p.Position; 
     218            Vector nopeus = RandomGen.NextVector(0.2, 3.0); 
     219            double g = -0.2; // painovoima 
     220            double z = 0.0; // sijainti z-akselilla 
     221            double vz = RandomGen.NextDouble(3.0, 3.5); // nopeus z-akselilla 
     222 
     223            Timer ajastin = new Timer(); 
     224            ajastin.Interval = 0.02; 
     225            ajastin.Timeout += delegate 
     226            { 
     227                vz += g; 
     228                z += vz; 
     229                paikka += nopeus; 
     230                p.Position = paikka + new Vector(0.0, 1.0) * z; 
     231                varjo.Position = paikka; 
     232 
     233                if (z < 0.0) 
     234                { 
     235                    ajastin.Stop(); 
     236                    p.Destroy(); 
     237                    varjo.Destroy(); 
     238                } 
     239            }; 
     240            ajastin.Start(); 
     241        } 
     242    } 
     243 
    195244    void RoomPressed(Room huone) 
    196245    { 
     
    206255        if (CanDig())  
    207256        { 
     257            var alkuHuone = huoneet[digStart.X, digStart.Y]; 
     258 
     259            // Hienot partikkeliefektit. 
     260            if (!kohdeHuone.Dug) 
     261                LuoKiviPartikkelit(kohdeHuone.Position); 
     262            if (!alkuHuone.Dug) 
     263                LuoKiviPartikkelit(alkuHuone.Position); 
     264 
    208265            // Merkataan huoneet kaivetuksi. 
    209             var alkuHuone = huoneet[digStart.X, digStart.Y]; 
    210266            kohdeHuone.Dug = alkuHuone.Dug = true; 
    211267 
  • 2015/24/ohjaajat/Dungeon/Dungeon/Dungeon/Dungeon.csproj.Debug.cachefile

    r5970 r5972  
    1616Content\v0009.xnb 
    1717Content\v0010.xnb 
     18Content\partikkeli.xnb 
Note: See TracChangeset for help on using the changeset viewer.