Interactive Control - Visibility
VÃme jak vytvoÅ™it tlaÄÃtka, vÃme jak udÄ›lat animace, ale co když máme panel dejme tomu pro PÖTTINGER ale zrovna ho nemáme pÅ™ipojený? Na tom panelu můžeme mÃt tlaÄÃtka pro ovládánà zaÅ™ÃzenÃ, zaplnÄ›nà atd... A dnes si ukážeme jak tento panel skrýt v pÅ™ÃpadÄ›, že ho nepotÅ™ebujeme.
Kam zapisovat ovládánà viditelnosti
Tak jako vždy, budeme potÅ™ebovat mÃto kam zapisovat ovládánà viditelnosti prvků. To mÃsto můžeme vidÄ›t v pÅ™Ãkladu:
1<interactiveComponents minDist="13">2 <visControls>3 <button ...>4 ...5 </button>6 </visControls>7</interactiveComponents>8
Většà problém - většà zápis
AÄ se to nezdá, je toto vÄ›tÅ¡Ã problém zapsat než tlaÄÃtko. Zde totiž musÃte uvažovat také o typu zmÄ›ny viditelnosti a o kontrolnÃm obejktu. Element button bude mÃt vÃce, ménÄ› standardnà atributy. Do nÄ›j pak navÃc budeme zapisovat indexy k zviditelnÄ›nÃ/skrytÃ.
Atributy onMessage a offMessage
Tyto atributy se použÃvajà k definovánà hlášky, která se má zobrazit po najetà myÅ¡i a to buÄ pÅ™i spuÅ¡tÄ›né akci nebo ukonÄené akci. Bohužel zde se nám neindikuje zda máme objekt zobrazen nebo skryt (protože máme vÃce objektů) a tak se nám použije pouze hláška onMessage. Pro pÅ™Ãpadné posuny v indikaci doporuÄuji nastavit stejnou hlášku i pro offMessage - jen pro jistotu. Oba tyto atributy musà obsahovat název definovaného textu v l10n v modDesc.xml.
Atribut name
Tento atribut sloužà k zobecnÄ›nà hlášek - pokud máme napÅ™Ãklad 2 tlaÄÃtka, tak pro obÄ› můžeme vypisovat stejnou hlášku s tÃm, že mÃsto name které se tam má doplnit, napÃÅ¡eme do hlášky on/offMessage nÄ›jaký text a jako zástupný znak name použijeme %s. Ve výsledku tak máme tÅ™eba jednu onMessage, jednu offMessage a 2 tlaÄÃtka použÃvajÃcà stejné hlášky akorát s jiným name. Atribut name obsahuje název definovaného textu v l10n v modDesc.xml.
Atribut size
Size sloužà k definovánà velikosti tlaÄÃtka pro kliknà - nikoli velikosti vizuálnÃ! Hodnota je desetinné ÄÃslo v rozmezà 0 až 1. Toto ÄÃslo urÄije procentuálnà velikost klikatelného tlaÄÃtka oproti monitoru. Je dobré si s tÃmto pohrát aby se mohli použÃvat tlaÄÃtka blÃzko u sebe.
Atribut mark
Tento atribut obsahuje index tlaÄÃtka v i3d stroje. Objekt na tomto indexu musà mÃt nejaký vnoÅ™rný objekt pro pÅ™Ãpadné pÅ™idánà efektů. DoporuÄuji použÃt tlaÄÃtko z archivu který si stáhnete s IC. Kolem tohoto indexu se tvořà klikatelná oblast definovaná v size. Pokud nenà mark obsažen v tagu, vytvořà se pouze událost. Takto vytvoÅ™enou událost můžete použÃvat v multiButtons.
Atribut typeChange
UrÄuje nám, jaký typ zmÄ›ny viditelnosti použÃt. Nenà povinný a výchozà typ je set. Set znamená, že se vÅ¡echny prvky Å™Ãdà jednÃm kontrolnÃm elementem který si pozdÄ›ji musÃme definovat. Druhá možnost je toggle. Toggle zase znamená, že se prvky mÄ›nà opaÄnÄ› ku aktuálnÃmu stavu. Pokud je tedy Äást viditelná a Äást ne, pak po stisknutà tlaÄÃtka bude viditelná Äást druhá a ta prvnà zase ne.
Atribut synch
Atribut synch se použÃvá pro multiplayer a může obsahovat hodnotu true a nebo false. Tento atribut nenà povinný a jeho základnà hodnota je true. Pokud je hodnota false, pak nenà synchronizováno chovánà na MP - tzn.: jeden hrÃ¡Ä může vidÄ›t nÄ›co spuÅ¡tÄ›né a druhý ne. Vhodné pro nÄ›jaké drobné funkce aby se nezatěžovala komunikace pÅ™i MP.
Atribut isOutside
Tento atribut definuje, zda je tlaÄÃko urÄeno pro použità mimo stroj a nebo pro použità v kabinÄ›. Pokud je false, tlaÄÃtko se zobrazà pouze tehdy, když jsme ve stroji. Pokud je true tak to zanmená, že aby se talÄÃtko dalo spustit, tak musÃme být v dosahu definovaném minDist. Tento atribut je nepovinný a jeho základnà hodnota je false.
Atribut controlElem
Tento atribut definuje kontrolnà prvek pro zobrazovánÃ. Použije se pouze v pÅ™ÃpadÄ›, pokud je atribut type nastaven na set. Pokud pak bude tento prvek zobrazen, mÄ›ly by být zobrazeny i vÅ¡echny ostatnà prvky u tlaÄÃtka. Atribut obsahuje index kontrolonÃho prvku.
Atribut defaultVis
Nepovinný atribut definujÃcà viditelnost po startu hry. Pokud je pÅ™Ãtomen, pak jsou vÅ¡echny elementy nastaveny na danou hodnotu (viditelost). Hodnoty jsou true/false.
Zápis objektů na ovládánÃ
TeÄ jsme si ukázali zápis tlaÄÃtka a nynà potÅ™ebujeme zapsat objekty, které to tlaÄÃtko ovlivňuje. To se dÄ›lá pÅ™es vnoÅ™ený tag index s atributem index, který obsahuje daný index k zobrazenÃ. No vÃce snad pochopÃte z pÅ™Ãkladu.
Ukázka zápisu tlaÄÃtek na viditelnost
Nakonec vám zde přikládám ukázku zápisu viditelnosti do IC:
1</interactiveComponents>2 <visControls>3 <button name="tuplak_rf1" mark="0>6|0|15|0|5|0|0|1|5" onMessage="cp_panel_on" offMessage="cp_panel_off" size="0.015" typeChange="set" controlElem="0>6|0|15|0|5|0|0|1|2" defaultVis="false" >4 <index index="2>1|1|2"/>5 <index index="0>6|0|15|0|5|0|0|1|2"/>6 <index index="0>6|0|15|0|5|0|1|1|2"/>7 </button>8 <button name="tuplak_rf2" mark="0>6|0|15|0|5|0|1|1|5" onMessage="cp_panel_on" offMessage="cp_panel_off" size="0.015" typeChange="set" controlElem="0>6|0|15|0|5|0|1|1|2" defaultVis="false" >9 <index index="2>1|1|2"/>10 <index index="0>6|0|15|0|5|0|0|1|2"/>11 <index index="0>6|0|15|0|5|0|1|1|2"/>12 </button>13 </visControls>14</interactiveComponents>