Tvorba Wherigo: Porovnání verzí
(→Kde legálně brát obrázky a zvuky) |
(→Uživatelské kódy pro WHERIGO) |
||
(Není zobrazena 1 mezilehlá verze od 1 uživatele.) | |||
Řádka 28: | Řádka 28: | ||
:; Nastavení "dosahu" zóny na hodnotu proměnné "Distance" : zona.DistanceRange = Distance(Distance, "meters") | :; Nastavení "dosahu" zóny na hodnotu proměnné "Distance" : zona.DistanceRange = Distance(Distance, "meters") | ||
:; Nastavení "blízkosti" zóny na hodnotu proměnné "Proximity" : zona.ProximityRange = Distance(Proximity, "meters") | :; Nastavení "blízkosti" zóny na hodnotu proměnné "Proximity" : zona.ProximityRange = Distance(Proximity, "meters") | ||
+ | |||
+ | :; Spočítat vzdálenost a azimut mezi dvěma body: vzdalenost,azimut = Wherigo.VectorToPoint(zonepoint1,zonepoint2) | ||
+ | ::* Oba body musí být typu ZonePoint, tedy např. | ||
+ | :::* Point = ZonePoint(50.140488333,14.509121666,0) | ||
+ | :::* Player.ObjectLocation | ||
+ | :::* Zona.OriginalPoint | ||
+ | |||
+ | :; Přesun bodu zvoleným směrem dir o zvolenou vzdálenost 120 stop | ||
+ | |||
+ | ::::local dist = Wherigo.Distance(120, 'ft') | ||
+ | ::::local newZp = Wherigo.TranslatePoint(Zona.OriginalPoint, dist, dir) | ||
+ | :: Vznikne tak nový bod newZp na novém místě. | ||
== Na co si dát při tvorbě Wherigo pozor == | == Na co si dát při tvorbě Wherigo pozor == | ||
Řádka 119: | Řádka 131: | ||
:: [http://www.audiomicro.com/free-sound-effects AudioMicro free sound efects], | :: [http://www.audiomicro.com/free-sound-effects AudioMicro free sound efects], | ||
:: [http://www.freesound.org/ Free Sound], | :: [http://www.freesound.org/ Free Sound], | ||
+ | :: [http://www.acoustica.com/sounds.htm Acoustica], | ||
:: [http://www.findsounds.com/types.html Find Sounds] , | :: [http://www.findsounds.com/types.html Find Sounds] , | ||
:: [http://www.freesfx.co.uk/ FreeSFX], | :: [http://www.freesfx.co.uk/ FreeSFX], |
Aktuální verze z 8. 1. 2016, 18:25
Tato stránka je určena pro kopie rad z diskusí a podobně.
[editovat] Doporučení pro tvorbu WherIGo (zejména v URWIGO)
[editovat] Obrázky
- Obrázky: JPG, velikost do 230 x 170 bodů, raději nižší: 230 x 120 bodů
- Ikony: JPG, velikost do 32 x 32 bodů
[editovat] Zvuky
- Zvuky: Každému médiu přiřaďte dva soubory se zvukem.
- Jeden ve formátu mp3, případně WAV (pro PC, telefony),
- druhý ve formátu .fdl (pro Garminy). Šetřete velikostí!
- .fdl není audiosoubor, jako mp3, ale popis, jaké tóny zahrát. Lze vytvářet programem SystemBeepRecorder od Groundspeaku.
- Příklady fdl souborů ZDE.
- Je užitečné upozornit zvukem na každou důležitou událost. Hráč si chce hru užívat, ne stále sledovat display!
[editovat] Message
- Pomocou prikazu Message je možné komunikovať s používateľom. Pozor treba dať pri dlhších správach. Prístroje s OpenWIG zvládajú zobraziť pomerne dlhé texty. Oregon sa však pri pokuse vypísať Message s textom dlhším ako 930 znakov vypne.
[editovat] Uživatelské kódy pro WHERIGO
- Navrhuji sem dopisovat seznam známých uživatelských kódů, kdo na co přijde:
- Nastavení souřadnic
- nazevzony.Points[1].latitude - zem. š. 1. bodu zóny "nazevzony"
- nazevzony.Points[1].longitude - zem. d. 1 bodu zóny "nazevzony"
- Nastavení "dosahu" zóny na hodnotu proměnné "Distance"
- zona.DistanceRange = Distance(Distance, "meters")
- Nastavení "blízkosti" zóny na hodnotu proměnné "Proximity"
- zona.ProximityRange = Distance(Proximity, "meters")
- Spočítat vzdálenost a azimut mezi dvěma body
- vzdalenost,azimut = Wherigo.VectorToPoint(zonepoint1,zonepoint2)
- Oba body musí být typu ZonePoint, tedy např.
- Point = ZonePoint(50.140488333,14.509121666,0)
- Player.ObjectLocation
- Zona.OriginalPoint
- Přesun bodu zvoleným směrem dir o zvolenou vzdálenost 120 stop
- local dist = Wherigo.Distance(120, 'ft')
- local newZp = Wherigo.TranslatePoint(Zona.OriginalPoint, dist, dir)
- Vznikne tak nový bod newZp na novém místě.
[editovat] Na co si dát při tvorbě Wherigo pozor
Bohužel, každý player má jiné nedostatky, padá na jiných příkazech, něco neumí,... Proto je nutné vědět, čemu se vyhnout, i když to někde funguje.
Následující seznam vznikl jako postřehy během přípravy cartridge a není bezchybný ani kompletní. Kdokoliv na nějaký problém přijdete, můžete své zkušenosti sdílet zde.
Pěkný soupis podobných postřehů najdete (anglicky) TADY.
[editovat] Show screen ITEM screen (Zobrazit obrazovku Položka)
- Oregon neumí - spadne
[editovat] Command (Prikaz)
- Oregon neumí skousnout prikaz if/else (kdyz/jinak), kdyz nasleduje jako prvni v rade po "EXECUTE".
- Oregon neumí skousnout prikaz MESSAGE, kdyz nasleduje jako prvni v rade po "EXECUTE".
WORKAROUND: Kdyz pouzivate Prikazy (Command) u postav, vlozte jako prvni prikaz "Set" ("Nastav") pro nejakou promennou. Napr. SetSmyslenejItemDisplay=False. Nasledne muzete pouzit oba prikazy IF/ELSE i MESSAGE.
[editovat] Show screen TASK screen (Zobrazit obrazovku Úloha)
- Oregon v některých situacích padá. Nikdy jsem to nezaznamenal např. v úvodu po přivítání, avšak velmi často spadne po dialogu po splnění úkolu. OpenWIG ani PC simulátor s tím problém nemají.
[editovat] Task (úloha) - vlastnost "správnost"
- Při změně (na Oregonu) hra spadne.
[editovat] Událost typu "při kliknutí"
- Neumí některá zařízení (která?)
OnClick pri Itemech neunguje na Oregonech. WORKAROUND: Věci či postavě zadefinujte nový příkaz (Vlastnosti > Příkazy > Nová položka), hráč si ho vybere.
[editovat] Media
- Pri pouziti URWIGO. Pri vymene obrazku v mediich muze dojit k vymazani Urwigo souboru a take obrazku.
Kdyz vytvorite medium a date do nej obrazek Obr1.jpg. Pak se rozhodnete, ze tenhle obrazek neni dobry a v mediich ho smazete a tomu stejnymu mediu priradite soubor Obr2.jpg, muze pri prikazu "Build" cartridge dojit k smazani celeho urwigo souboru. WORKAROUND: Nemente obrazek v mediiich, ale vytvorte si nove medium.
[editovat] Play an Alert sound
- Neumí většina zařízení (která?), použijte "Přehrát zvuk".
[editovat] Display message inside onRestore (Zobrazit zprávu během Při obnovení)
- Neumí Oregon. Takto vytvořená cartridge s největší pravděpodobností nepůjde po uložení znovu načíst. OpenWIG ani PC simulátor s tím problém nemají. Workaround: vytvořte časovač typu Odpočet na 2 sekundy, po jeho uplynutí nastavte zobrazení požadované zprávy. V události Při obnovení jen spusťte časovač.
[editovat] Automatické ukládání pomocí časovače
- Problémy s Oregonem. Situace: jednosekundový Časovač počítá sekundy do proměnné, po načítání požadovaného počtu (mimo jiné) uloží hru. Oregon příkaz k uložení ignoruje (není záznam v GWL logu ani není hra uložena). OpenWIG uloží bez problému. Workaround: ?
[editovat] Ukládání hry - kdy neukládat
- Situace: hráč vstoupí do zóny a to nastaví úkol jako hotový. Tím se vyvolá událost změny kompletnosti úlohy. Ta deaktivuje zónu, uloží hru a zobrazí hlášku. Na Oregonu se hra občas uloží nekonzistentní, po načtení je úkol nesplněný ale zóna deaktivovaná. Workaround: ?
[editovat] Deaktivace zóny - kdy to dělá problémy
- Situace: zóna (neviditelná, aktivní, ale na tom možná nezáleží) obsahuje viditelnou věc (Item). Věc má příkaz, který vyvolá dialog. Mezi zobrazením dialogu a zadáním vstupu nesmí být zóna deaktivována (možná nesmí prostě jen Věc zmizet z dohledu). Pokud se tak stane, pak po odkliknutí dialogu PC Simulátor spadne. OpenWIG s tím nemá problém.
[editovat] GWC cartridge pro otestování
- cartridge vytvořená ať už Urwigem nebo Wherigo serverem pro otestování má nastaven odemykací kód "builder" resp. "none". OpenWIG (r344) při pokusu o zobrazení kódu kratšího než 15 znaků zahlásí java.lang.StringIndexOutOfBoundsException a zprávu nezobrazí. S dlouhým odemykacím kódem finálové cartridge to bude fungovat správně. Oregon ani PC Simulátor s tím problém nemají.
[editovat] Časovače a ukládání
- při uložení cartridge se ukládá čas doběhnutí časovače, nikoliv aktuální stav odečtu
[editovat] Vstupy
Přinejmenším na Oregonu WherIGo padá v několika případech:
- Použijete vstup typu Pravda/Nepravda = True/False
- Nahraďte "Zpráva" se dvěma tlačítky.
- Uživatel má zadat text, ale zadání stornuje (chyba nil).
- Toto lze ošetřit programem. Buď ... anebo ....
- URWIGO verze 1.12 již má vstup textu ošetřen, při chybě bude "Odpověď" obsahovat prázdný řetězec.
- Během zadávání textu uživatel opustí zónu, nebo jiným způsobem dojde k události, která chce něco zobrazit na displej.
- Částečně lze ošetřit deaktivací reakcí na některé události, ale nějaký uživatel jistě najde způsob, jak WherIGo přesto shodit.
[editovat] Komentáře
Pokud chcete použít v diagramech prvek "Komentář" (někdy se to opravdu hodí), NIKDY NEPIŠTE VÍC ŘÁDKŮ NEŽ JEDEN! Pokud napíšete více než jeden řádek, pak si s tím interní kompilátor na www.wherigo.com neporadí a při pokusu o download takové cartridge bude vypisovat chybu. Jednořádkový komentář nevadí.
[editovat] Externí odkazy
LUA Users Wiki: Pokročilá manipulace s řetězci
[editovat] Kde legálně brát obrázky a zvuky
- Ideální je vlastní tvorba. Tipy:
- Obrázky - Fotografie, kresba na papír + skenovat, kresba přímo v počítači.
- Hudba - buď nahrát, nebo složit v midi sekvenceru a převést do mp3.
- Ruchy, šumy, jiné zvuky: nahrát mikrofonem. Pozor na okolní hluk.
[editovat] Obrázky
- Obrázky lze vyhledat například pomocí rozšířeného vyhledávače obrázků google. Nastavte Práva licence na "Lze volně užívat, sdílet či upravovat, i komerčně" (pro jistotu).
[editovat] Zvuky, hudba
- Obvykle stačí poděkovat a uvést autora (raději kontrolujte):
- Různé licence, uvést autora, i nekomerční zdarma (ale je WherIGo nekomerční?)
- Jste-li ochotni něco ne málo zaplatit: