Funkcja Transform
pozwala zmienić wygląd elementów lub grup elementów, ale czasami może się zdarzyć, że chcesz przełączyć się między listą zachowań na podstawie określonego warunku. Jest to analogiczne stwierdzenie do switch
lub if…else
w innych językach.
Możesz na przykład wyświetlać inne tło w czasie wczesnego poranka, rana, lunchu, popołudnia, wieczoru i nocy.
Instrukcje Condition
w formacie tarczy zegarka umożliwiają uwzględnianie różnych części sceny tarczy zegarka w zależności od oceny wyrażeń, na przykład:
<Condition>
<Expressions>
<Expression name="is_early_morning">
<![CDATA[[HOUR_0_23] >= 6 && [HOUR_0_23] < 8]]
</Expression>
<Expression name="is_morning">
<![CDATA[[HOUR_0_23] < 12]]
</Expression>
...
</Expressions>
<Compare expression="is_early_morning">
<!-- Early morning content here -->
<Group ... />
</Compare>
<Compare expression="is_morning">
<!-- Morning content here -->
<Group ... />
</Compare>
...
<!-- The "else" case -->
<Default>
<!-- content -->
</Default>
</Condition>
Kilka informacji o warunkach:
- Używany jest pierwszy element
Compare
, w którym wartość atrybutuexpression
totrue
, a pozostałe są ignorowane. - Ze względu na format XML często najłatwiej jest otoczyć definicję wyrażenia elementem
CDATA
, jak pokazano tutaj, ponieważ pozwala to uniknąć ucieczki XML za pomocą elementów encji, takich jak>
i&
. - Struktury
Condition
mogą być zagnieżdżone.