blender3d.cz http://forum.blender3d.cz/ |
|
Action v belender game engine, python http://forum.blender3d.cz/viewtopic.php?f=7&t=920 |
Stránka 1 z 1 |
Autor: | Ash [ úte dub 12, 2005 12:32 pm ] |
Předmět příspěvku: | |
Základný problém je v tom, že controler so skriptom ipo.py máš v objekte data, ale premenné (properties) máš v objekte lipa. Takže musíš vyrobiť rovnaký controler pre objekt lipa, prepojiť ho rovnako ako pôvodný kontroler, ten zmazať a malo by to fungovať. Ale ten skript je hrôza (okrem tej úvodnej funkcie ). Celé by si to mala nasekať do nejakej dátovej štruktúry a z nej vyberať dáta podľa vstupných premenných. No nakoniec, napísanie a údržba toho skriptu ti je dostatočným trestom... |
Autor: | Ash [ úte dub 12, 2005 2:39 pm ] |
Předmět příspěvku: | |
To, že je to v jednom skripte, je v poriadku, nedeje sa tam toho tak veľa, iba sa tam stále opakuje tá istá konštrukcia. Dalo by sa to prerobiť takto: Kód: params = [['wind_nodata.gif',[[[0,1000],[0,0,0,0,0,0,0,0,0,0]]]],
['nodir.gif',[[[0,1000],[0,0,0,0,0,0,0,0,0,0]]]],['vrb.gif',[[[0,5],[0,0,0,1,0,0,0,0,0,0]],[[6,12],[0,0,0,0,1,0,0,0,0,0]],[[12,1000],[0,0,0,0,0,1,0,0,0,0]]]]] for gif in params: if string.count(data,gif[0]) > 0: for wind in gif[1]: if vitr >= wind[0][0] and vitr <= wind[0][1]: own.b_j = wind[1][0] own.s_j = wind[1][1] own.v_j = wind[1][2] own.b_s = wind[1][3] own.s_s = wind[1][4] own.v_s = wind[1][5] own.s_z = wind[1][6] own.v_z = wind[1][7] own.s_v = wind[1][8] own.v_v = wind[1][9] Samozrejme treba do params dopísať všetky možnosti (ja som tam zadal len sekciu #bez dat a #promenlivo), ale malo by to nahradiť tých 700 riadkov pôvodného skriptu (neskúšal som spustiť). Ak nefungujú animácie napriek tomu, že premenné sú nastavené, tak bude zrada inde. |
Autor: | Ash [ čtv dub 14, 2005 9:06 am ] |
Předmět příspěvku: | |
Nie som si istý, či som to pochopil správne. Vysvetlivky k štruktúre premennej params: params = ['icons/0cloud',[[0,1000],[0,0,1]]] 'icons/0cloud' - reťazec, ktorý je dodaný zo vstupných dát [0,1000] - minimálna a maximálna hodnota vetra [0,0,1] - hodnoty, ktoré je potrebné nastaviť do premenných Ak sa namýlim, v tomto prípade hodnoty vetra nepotrebuješ, takže by to mohlo vyzerať takto: Kód: params = ['icons/0cloud',[0,0,1]]
for icons in params: if string.count(data,icons[0]) > 0: own.opar = icons[1][0] own.dest = icons[1][1] own.snih = icons[1][2] Ale v princípe by malo fungovať aj tvoje riešenie. napíš, aký v tom máš problém. |
Autor: | Ash [ čtv dub 14, 2005 1:41 pm ] |
Předmět příspěvku: | |
Tak, na riadku 137 to chce uzavrieť do ešte jedných hranatých zátvoriek: Kód: params = [['icons/0cloud',[0,0,1]]]
Keď params rozšíriš o ďalšie záznamy, tak tie pridané zátvorky budú vonkajšie zátvorky celého zoznamu. A potom si na riadku 689 zapoznámkuj text "teplota". |
Stránka 1 z 1 | Všechny časy jsou v UTC + 1 hodina [ Letní čas ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |