/// <summary> /// wykonuje wszystie niezbedne obliczenia dla obiektu /// </summary> public virtual void Pracuj() { if (Ruch != Rodzaj_Ruchu.RuchZaden) { Pozycja += Normalna * V; V += A; Odleglosc -= V; if (!BrakStop) { if (Odleglosc < 0f || (Ruch == Rodzaj_Ruchu.RuchOpozniony && V < 0f)) { V = 0f; A = 0f; if (Ruch != Rodzaj_Ruchu.RuchOpozniony) { Pozycja = Dokad; } else if (Odleglosc < 0f) { Pozycja = Dokad; } Ruch = Rodzaj_Ruchu.RuchZaden; } } } Obrot += zObrot; }
/// <summary> /// Nadaje obiektowi predkosc jednostajna /// </summary> /// <param name="dokad">punkt do jakiego obiekt ma leciec</param> /// <param name="v">predkosc z jaka cialo sie porusza</param> /// <param name="brakstop">Okresla czy obiekt zatrzyma sie po dotarciu do dokad</param> public void RuchJednostajny(Vector2 dokad, float v, bool brakstop) { Vector2 dif = dokad - Pozycja; Odleglosc = dif.Length(); dif.Normalize(); Normalna = dif; V = v; Dokad = dokad; Ruch = Rodzaj_Ruchu.RuchJednostajny; BrakStop = brakstop; }
Obiekt.Obiekt PrzyczepienieKto; //do kogo przyczepiac /// <summary> /// /// </summary> /// <param name="x"></param> /// <param name="y"></param> /// <param name="minszer"></param> /// <param name="maxszer"></param> /// <param name="minwys"></param> /// <param name="maxwys"></param> /// <param name="minskolor"></param> /// <param name="maxskolor"></param> /// <param name="minkkolor"></param> /// <param name="maxkkolor"></param> /// <param name="minodr">minimalna odleglosc od punktu tworzenia czasteczek</param> /// <param name="maxodr">maxymalna odleglosc od punktu tworzenia czasteczek</param> /// <param name="mindor">minimalna odleglosc od punktu do ktorego czasteczki sie udadza</param> /// <param name="maxdor">maxymalna odleglosc od punktu do ktorego czasteczki sie udzadza</param> /// <param name="minobrot"></param> /// <param name="maxobrot"></param> /// <param name="mint">minimalny czas zycia czasteczek</param> /// <param name="maxt">maxymalny czas zycia czasteczek</param> /// <param name="tcircle">czas zycia particle circle</param> /// <param name="ruch">jakim ruchem czasteczki sie poruszaja</param> /// <param name="ilosc">ilosc tworzonych czasteczek na jedno t</param> public ParticleCirle(int x, int y, int minszer, int maxszer, int minwys, int maxwys , Color minskolor, Color maxskolor, Color minkkolor, Color maxkkolor, float minodr, float maxodr, float mindor, float maxdor, float minobrot, float maxobrot, int mint, int maxt, int tcircle, Rodzaj_Ruchu ruch, int ilosc) { X = x; Y = y; MinSzer = minszer; MaxSzer = maxszer; MinWys = minwys; MaxWys = maxwys; MinSKolor = minskolor; MaxSKolor = maxskolor; MinKKolor = minkkolor; MaxKKolor = maxkkolor; MinObrot = minobrot; MaxObrot = maxobrot; MinOdR = minodr; MaxOdR = maxodr; MinDoR = maxdor; MaxDoR = maxdor; Ilosc = ilosc; Ruch = ruch; MinT = mint; MaxT = maxt; TCircle = 0; KT = tcircle; }
/// <summary> /// /// </summary> /// <param name="x"></param> /// <param name="y"></param> /// <param name="minszer"></param> /// <param name="maxszer"></param> /// <param name="minwys"></param> /// <param name="maxwys"></param> /// <param name="minskolor"></param> /// <param name="maxskolor"></param> /// <param name="minkkolor"></param> /// <param name="maxkkolor"></param> /// <param name="minobrot">Minimalny kat wystralu czasteczek</param> /// <param name="maxobrot">Max kat pod jakim beda wystrzeliwane czasteczki</param> /// <param name="minr">minimalna odleglosc tworzenia czasteczki od celu</param> /// <param name="maxr">Maxymalna odleglosc tworzenia czasteczki od celu</param> /// <param name="mint">minimalny czas zycia czasteczki w klatkach</param> /// <param name="maxt">maxymalny czas zycia czasteczki w klatkac</param> /// <param name="t">czas zycia dziala czasteczkowe(0 = nieskonczonosc)</param> /// <param name="ruch">Jakim ruchem poruszaja sie czasteczki</param> /// <param name="ilosc">ilosc czasteczek tworzonych na klatke</param> /// <param name="ulozenie">Ulozenie tworzonych czasteczek wgledem dziala</param> public ParticleGun(int x, int y, int minszer, int maxszer, int minwys, int maxwys , Color minskolor, Color maxskolor, Color minkkolor, Color maxkkolor, float minobrot, float maxobrot, float minr, float maxr, int mint, int maxt, int t, Rodzaj_Ruchu ruch, int ilosc, Rodzaj_Dziala ulozenie) { X = x; Y = y; MinSzer = minszer; MaxSzer = maxszer; MinWys = minwys; MaxWys = maxwys; MinSKolor = minskolor; MaxSKolor = maxskolor; MinKKolor = minkkolor; MaxKKolor = maxkkolor; MinObrot = minobrot; MaxObrot = maxobrot; MinT = mint; MaxT = maxt; MinR = minr; MaxR = maxr; T = 0; KT = t; if (KT < 0) { KT = 1; } Ruch = ruch; Ilosc = ilosc; Ulozenie = ulozenie; Obrot = 0f; }