[C++ Builder] Miganie dużego Image podczas przesuwania.
Ostatnio zmodyfikowano 2015-09-28 20:51
addam23 Temat założony przez niniejszego użytkownika |
[C++ Builder] Miganie dużego Image podczas przesuwania. » 2015-09-28 18:12:43 Witam! Piszę aktualnie labirynt. Podczas gry image nazwany "ZASLONA" zasłania całą plansze po za postacią ,którą się poruszamy i kilkoma klockami na około. I mam problem właśnie z tą zasłoną ,ponieważ podczas przesuwania je tej zasłon miga ona. To znaczy wygląda to tak jakby przy każdym przesunięciu to tego Image ładował się na nowo obraz.Ma on wymiary 1600x1200 i jest prawie cały czarny poza okręgiem na środku.Przeźroczystość tego okręgu uzyskuje za pomocą funkcji Transpatert.Zasłona ma takie wymiary ponieważ musi ona być 4 razy większa od planszy, żeby zawsze zasłaniał ją w całości. Przesuwanie realizuje podczas przesuwania postaci w ten sposób: ZASLONA->Top -= 40; Dla ruchu w górę i odpowiednio w inne strony; Proszę o pomoc w rozwiązaniu problemu. |
|
BadBullPL |
» 2015-09-28 20:26:30 Tzw.artefakty. Musisz w Inspektorze obiektów wybrać okno na którym jest wyświetlana zasłona i zmienić UseDockManager na true. |
|
addam23 Temat założony przez niniejszego użytkownika |
» 2015-09-28 20:28:39 Mam tak ustawione i dalej tak samo. |
|
BadBullPL |
» 2015-09-28 20:42:54 Ustaw DoubleBuffered |
|
addam23 Temat założony przez niniejszego użytkownika |
» 2015-09-28 20:51:33 Ciągle tak sam. Chyba ,że w złym miejscu dałem DoubleBuffered = true; A dałem na samym początku FormCreate. Tutaj nagrałem to zjawisko : https://youtu.be/mv5qtSgma20Niestety na filmie efekt ten występuje nie za każdym razem i jest o wiele krótszy. Edit @1 Dobra udało się ,dopiero teraz pomyślałem żeby DoubleBuffered dać do Panelu na ,którym jest "zasłona" ,a nie na Form1. Dziękuje wszystkim za pomoc. |
|
« 1 » |