Autor | Zpráva | ||
---|---|---|---|
Ladislav Profil |
#1 · Zasláno: 1. 3. 2007, 15:57:24
Dobrý den, můžete mi pomoci?
Pro potřeby jedné školy připravuju jednoduché výukové CD. V jednom framu se bude řešit jeden úkol. Po splnění úkolu se žákovi otevře další úkol v dalším framu. Ale: 1) úkoly by se neměly zobrazovat postupně, ale v náhodném sledu (aby děcka neřešili úkoly pořád ve stejném pořadí) 2) aby bylo v patřičném formuláři možné vybrat si úroveň či lekci - žák si vybere např. 1. - 3. lekci, což budou úkoly na framech 2 - 31 (a vybrané framy by se přepínaly opět v náhodném pořadí) Pro mě neřešitelný oříšek, poradíte? |
||
Dredie Profil * |
#2 · Zasláno: 1. 3. 2007, 16:34:49
ladislav: vecer na to mrknu, jestli to do te doby nekdo nevyresi :)
|
||
Dredie Profil * |
#3 · Zasláno: 1. 3. 2007, 19:41:34
takze jak jsem slibil:
//definujes lekci1 a lekci2 (ve finale jich muzes mit kolik chces) a vyslednou lekci ktera se sklada z kombinaci libovolneho poctu jinych lekci - jedna se o pole prommenych, ktere se pouzije pro ulozeni cisel snimku, na kterych zacina a konci urcita lekce var lekce1:Array = new Array(); var lekce2:Array = new Array(); var vyslednaLekce:Array = new Array(); //definujes zacatek a konec lekce1 (framy) var lekce1start:Number = 1; var lekce1konec:Number = 10; //definujes zacatek a konec lekce 2 var lekce2start:Number = 11; var lekce2konec:Number = 27; //definujes, na kolikatou otazku se momentalne zak diva var momentalniOtazka:Number = 0; //funkce, ktera do lekce nakope cisla podle toho jaky jim definujes zacatk a konec, cislo lekce davas jako parametr funkce function sestrojLekci(cisloLekce:Number) { var startLekce:Number = eval("lekce" + cisloLekce + "start"); var konecLekce:Number = eval("lekce" + cisloLekce + "konec") for(var i:Number = startLekce; i < konecLekce+1; i++) { var jmenoLekce = eval("lekce"+cisloLekce); jmenoLekce.push(i); } } //funkce ktera nejprve spoji momentalne dve lekce (toto je jen pro ilustraci, samozrejme ze nakonec tam budes mit parametru presne tolik, kolik budes mit lekci a jejich spojeni dosahnes tak, ze parametr lekceC, lekceD atp. pripojis za cast skriptu lekceB -> lekceA.concat(lekceB, lekceC, lekceD....., lekceN);). Samozrejme nevadi, pokud budes volat funkci, ktera zada napr. 20 parametru pouze s parametry 3mi, nevyplnene se proste ignoruji (protoze jmaji hodnotu undefined... aspon myslim :), function spojArozhodLekce(lekceA, lekceB) { var docasnePoleZdroj:Array = lekceA.concat(lekceB); for(i=0; i<docasnePoleZdroj.length; i++) { var nahodnyVyber:Number = random(docasnePoleZdroj.length); vyslednaLekce.push(docasnePoleZdroj[nahodnyVyber]); docasnePoleZdroj.splice(nahodnyVyber,1); i--; } } //funkce pro zobrazovani jednotlivych snimku podle jejich poradi v poli vyslednaLekce function dalsiOtazka() { if(momentalniOtazka<vyslednaLekce.length) { otazkyMC.gotoAndStop(vyslednaLekce[momentalniOtazka]); momentalniOtazka++; } } //volani funkce dalsiOtazka po stisknuti tlacitka this.meTlacitko.onRelease = function() { dalsiOtazka(); } //zavolani funkce sestrojLekci, pokud bys mel 20 lekci, zavolas ji 20x (pouzil bych pak for smycku, tady to neni potreba) sestrojLekci(1); sestrojLekci(2); //volani teto funkce bude samozrejme vypadat jinak - podle toho ktere lekce zak vybere. Parametry tudiz budou teto funkci predany jinou funkci, ktera bude zjistovat, ktere lekce zak vybral (napr. pomoci komponentu - checkBox). Momentalne funkce pouze spoji a zprehazi lekci1 a lekci2 (jedine dve lekce, ktere tu jsou) spojArozhodLekce(lekce1, lekce2); //nastavi zobrazeni klipu s otazkami na frame odpovidajici prvnimu cislu v poli vyslednaLekce, pokud by to tu nebylo, zak by jako prvni videl vzdy prvni frame otazkyMC this.otazkyMC.gotoAndStop(vyslednaLekce[0]); Kod jsem testoval pomoci trace a fungoval. Jeho vyhoda je v tom, ze muzes zvolit treba lekce 1-3, 5-6, 8, 10 a cisla snimku se pripoji a prehazou do vysledne lekce automaticky, nicmene urcite by se to dal poresit lepe - tot otazka pro ostatni :) D. |
||
Ladislav Profil |
#4 · Zasláno: 1. 3. 2007, 21:23:54
Díky, řek bych, že je to přesně to, co jsem potřeboval. S vaším návodem bych to mohl zvládnout.
|
||
Chvostik Profil * |
#5 · Zasláno: 3. 3. 2007, 12:41:13
Nevedel by mi niekto povedat ako otvorit znie prikaz na otvorenie URL v novom okne, napr.
s rozmermy 800x600px??? |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0