4.3       Migotanie poprzez zmianę właściwości obiektów

 

Najbardziej uniwersalną metodę animacji jest cykliczna zmiana wybranej właściwości obiektu. Metodę tę można stosować dla obiektu dowolnej klasy oraz wykorzystywać dowolną właściwość odpowiedzialną za wygląd obiektu. Najczęściej zmiana właściwości jest synchronizowana wartością funkcji IsBlinkOff. Funkcja ta zwraca cyklicznie wartości true i false. Standardowy okres zmian to 500ms, ale można go zmienić w ustawieniach aplikacji. Wykorzystanie funkcji IsBlinkOff zapewnia identyczne tempo migotania wszystkich obiektów.

Poniżej pokazano kilka wariantów realizacji funkcji migotania.

Wariant A

Właściwości podstawowe

 

Główna zmienna

VA001

Właściwości stanowe, stan podstawowy

 

Widoczny

TAK

Właściwości stanowe, stan numer 1

 

Warunek stanu

=Variable()==3

 

Widoczny

=IsBlinkOff()

 

Powyższy schemat można zastosować dla obiektu dowolnej klasy. Jeżeli zmienna główna ma wartość 3, to aktywny stan numer 1 powoduje, poprzez zmianę właściwości Widoczny, cykliczne pokazywanie i ukrywanie całego obiektu.

 

Wariant B

Właściwości podstawowe

 

Główna zmienna

VA001

Właściwości stanowe, stan podstawowy

 

Kolor

Blue

 

Tekst

#

Właściwości stanowe, stan numer 1

 

Warunek stanu

=IsAlarm("A_"+Attribute(Name))

 

Kolor

=IsBlinkOff()?Red:Green

 

W przykładzie B modyfikowany jest kolor wyświetlenia tekstu w obiekcie Tekst. W stanie normalnym wyświetlana jest wartość zmiennej głównej w kolorze niebieskim. Jeżeli aktywny jest alarm o identyfikatorze A_VA001 ( utworzonym na podstawie nazwy zmiennej głównej), to wartość zmiennej wyświetlana jest naprzemiennie w kolorach czerwonym i zielonym. Wyborem koloru steruje wyrażenie warunkowe wykorzystujące funkcję IsBlinkOff.

 

Wariant C

Właściwości podstawowe

 

Główna zmienna

VA001

Właściwości stanowe, stan podstawowy

 

Nazwa obrazu

wizard

 

Jasność

0

Właściwości stanowe, stan numer 1

 

Warunek stanu

=Variable()==3 &&  IsBlinkOff() 

 

Jasność

-0,5

 

W przykładzie C migotanie jest realizowane poprzez zmianę jasności wyświetlanego obrazka w obiekcie klasy Obraz. W tym przykładzie funkcja IsBlinkOff jest umieszona w wyrażeniu warunku stanu razem ze sprawdzeniem wartości zmiennej głównej. Jeżeli wartość zmiennej głównej jest równa 3, to w zależności od aktualnej wartości funkcji IsBlinkOff, jasność obrazka pobierana jest ze stanu podstawowego lub stanu numer 1.