Ju1ian Temat założony przez niniejszego użytkownika |
[Allegro] Efekt światła » 2009-03-17 19:35:33 Witam! Ostatnio sobie tak dla odprężenia ;D tworzę labiryntówkę. Dla utrudnienia chciałbym dodać ciemność, a nad postacią, chodzące światło (tak jakby trzymał pochodnię). Gdyby światło było czarne, a ciemność biała, to bym sobie poradził ;P. Ale wycinać koła w bitmapie nie umiem. Najlepiej by, było z płynnym przejściem, ale normalnie też może być. Czy wiecie jak takie coś zrobić? Pozdrawiam. |
|
DejaVu |
» 2009-03-17 19:49:56 |
|
Ju1ian Temat założony przez niniejszego użytkownika |
» 2009-03-17 20:03:47 Umiem robić obiekty półprzezroczyste, tylko nie umiem "wydrążać dziur" w bitmapie ;) |
|
DejaVu |
» 2009-03-17 20:09:53 1. zrób dodatkowy bufor wielkości ekranu 2. uczyń go całego czarnego 3. narysuj na nim kółko różowe 4. po narysowaniu wszystkiego na buforze głównym nanieś ten dodatkowy bufor na główny bufor 5. rysuj bufor na ekranie
Cała filozofia :) |
|
Ju1ian Temat założony przez niniejszego użytkownika |
» 2009-03-17 20:39:09 Twoim sposobem program dziwnie się wywala (kompiluje się). Jest czarny ekran i od razu się wyłącza. EDIT: Ok, już się nie wyłącza, ale ten sposób nie działa. Przynajmniej nie w allegro. |
|
Patzick |
» 2009-03-17 21:00:36 najlepiej pokaż fragment kodu odpowiedzialny za wyświetlanie tego wszystkiego to będzie można powiedzieć Ci co jest nie tak :) |
|
Patzick |
» 2009-03-17 22:09:41 prowizorycznie przygotowany kawałek kodu, ale działa... BITMAP * pochodnia = NULL;
void efekt_pochodni() { clear_to_color( pochodnia, makecol( 0, 0, 0 ) ); circlefill( pochodnia, SCREEN_W / 2, SCREEN_H / 2, 40, makecol( 255, 0, 255 ) ); masked_blit( pochodnia, bufor, 0, 0, 0, 0, 800, 600 ); };
efekt_pochodni(); blit( bufor, screen, 0, 0, 0, 0, 660, 480 );
destroy_bitmap( pochodnia ); To jest taki efekt dziury w ścianie bardziej, ale już chyba nie będziesz miał problemu, żeby inne cienie pododawać :) Daj znać czy już ok. |
|
Ju1ian Temat założony przez niniejszego użytkownika |
» 2009-03-17 22:46:06 Jest ok ;) Dziękować ;P Tylko jak zrobić to płynne przejście ? |
|
« 1 » 2 3 |