[SFML] System cząsteczkowy...
Ostatnio zmodyfikowano 2013-05-09 16:49
ridic14 Temat założony przez niniejszego użytkownika |
[SFML] System cząsteczkowy... » 2013-05-01 00:52:59 Nie wiem czy w odpowiednim dziale, ale: W końcu udało mi się stworzyć coś co przypomina system cząsteczkowy(a nawet nie przypomina tylko nim jest :D). Teraz tylko chcę się dowiedzieć czy z myśleniem jest ok. Ogień w moim wykonaniu wygląda tak: !!!Screen!!! lub !!!EXE!!!(klik - zmiana cząsteczek). Chodzi o to czy tak się to robi czy można jakoś inaczej (i czy tak wygląda dość realistycznie). Ja zrobiłem tak, że zrobiłem punkt startowy i do niego dopasowałem 10 punktów tak żeby tworzyły 1/6(lub 1/3) koła(lub elipsy). Cząsteczki pojawiają się w losowych odległościach od punktów startowych(1-3 px). Potem zrobiłem u góry 5 punktów do których kierują się cząsteczki(oczywiście nie dokładnie do tych punktów(losowo od -5 do 5px różnicy)). Ustawiłem też że dym jest wolniejszy niż ogień(bo chyba tak jest?). No i tak to się prezentuje z mojej strony. Są pewnie jakieś lepsze lub ciekawsze sposoby więc chciałbym poznać. (Jeśli czegoś nie opisałem w moim sposobie tworzenia ognia to pytać proszę). |
|
RazzorFlame |
» 2013-05-01 13:16:30 Wg. mnie atomy (bo chyba tak można to nazwać :D) ognia powinny się łączyć w właśnie cząsteczki (które latają połączone) i różnica kolorów w tych cząsteczkach powinna być prawie niewidoczna (pomarańczowy i troszke przemieniający się w czerwony). Ja bym to jakoś tak zrobił: class FireAtom { public: sf::Color mColor; sf::Vector2D m_ToPoint; sf::Vector2D m_ActPoint; char m_iPP; void ChangeColorByIPP(); }; class FireParticle { std::vector < FireAtom *> m_vAtoms; sf::Vector2D m_destPoint; public: void addAtom( FireAtom *, char inParticlePosition ); void setDestPoint( sf::Vector2D ); void adjustAtoms(); };
Edit: A FireParticle w nowa klase Fire która by zarządzała np. ile tych języczków ognia ma np. być (języczki by tworzyły FireParticle) i czy to jest np szeroki ogien czy wysoki itd. |
|
ridic14 Temat założony przez niniejszego użytkownika |
» 2013-05-01 15:01:12 Na razie Twojego pomysłu nie sprawdzałem.(chwilowo nie mam czasu[ale jeszcze dziś sprawdzę]) A w jaki sposób to wyświetlać? Ja każdą cząsteczkę mam z klasy sf::Vertex a potem wszystkie cząsteczki do jednej wrzucam sf::VertexArray i pojedynczą funkcją draw żeby wyświetlić. I też zależy jak z wydajnością (mój sposób jak na razie nie zbyt wydajny).
P.S. dlaczego m_iPP jest typu char??? |
|
pekfos |
» 2013-05-01 15:09:37 P.S. dlaczego m_iPP jest typu char??? |
Pewnie dlatego, że tyle wystarczy, a trzeba oszczędzać pamięć. |
|
Arturr300 |
» 2013-05-03 23:06:59 |
|
ridic14 Temat założony przez niniejszego użytkownika |
» 2013-05-04 21:18:19 Dobre to :D. Na razie nie sprawdzałem systemu cząsteczkowego, sprawdzam moduł input który jak na razie prezentuje się pięknie :D P.S. korzystasz z tej biblioteki ? |
|
Arturr300 |
» 2013-05-09 16:49:16 Jak na razie miałem okazję użyć tylko Concave Shape, a resztę, to jak będzie czas :D
|
|
« 1 » |