Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++ Builder] Miganie dużego Image podczas przesuwania.

Ostatnio zmodyfikowano 2015-09-28 20:51
Autor Wiadomość
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.
P-137998
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.
P-138004
addam23
Temat założony przez niniejszego użytkownika
» 2015-09-28 20:28:39
Mam tak ustawione i dalej tak samo.
P-138005
BadBullPL
» 2015-09-28 20:42:54
Ustaw DoubleBuffered
P-138006
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/mv5qtSgma20

Niestety 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.
 
P-138007
« 1 »
  Strona 1 z 1