Autor | Zpráva | ||
---|---|---|---|
MaxiPa Profil * |
#1 · Zasláno: 26. 8. 2010, 21:33:59
Hledám pomoc,
vytvářím jednoduchý filmik. Potřebuji poradit podrobně – jsem úplná lama a o objektově orientovaném programování ani ActitonScriptu toho moc nevím – nechci nikomu konkurovat, pro moje potřeby by mi úplně vystačil jeden podrobný návod: Mám frame (snímek1) na něm šest moviclipů (mají stejné rozměry jen různé, předem pevně stanovené pozice a různé obsahy) – movi1, movi2, movi3, movi4, movi5, movi6 Potřebuju, aby se při každém zobrazení snímku (spuštění swf souboru) tyhle klipy na ploše náhodně proházely. Prosím, prosím napište mi někdo potřebný scriptík. Děkuji MaxiPa |
||
embee Profil |
#2 · Zasláno: 27. 8. 2010, 16:57:15
Pro nahodne cokoli ve flashi se pouziva funkce Math.random(). Vrati ti nahodne cislo od 0 do 1. To si pak muzes prepocitat tak, aby davalo rozsah 1-6.
Nevim, co myslis tim prohazovanim, takze nemuzu vedet, co presne se ma s MCs stat :) Chtelo by to presnejsi popis. |
||
Časová prodleva: 3 dny
|
|||
MaxiPa Profil * |
#3 · Zasláno: 30. 8. 2010, 11:13:12
Ty MCs mají jenom něnit svoje pozice - uvitř těch MC se neděje nic (při načítání snímku), čili by se vzájemě měly náhodně přehazovat souřadnice (_x,_y) těch MCs. (teda asi referenční body?)
|
||
Johnik Profil |
#4 · Zasláno: 30. 8. 2010, 11:27:26 · Upravil/a: Johnik
Prehozeni objektu na scene: (ActionScript 3 psany primo do snimku na casove ose)
var mcToShuffle:Array = []; for (var i:uint = 0; i < 6; i++) { var mcMoved:MovieClip = this["movi" + (i + 1)]; mcToShuffle.push(new Point(mcMoved.x, mcMoved.y)); } mcToShuffle = shuffle(mcToShuffle); for (var i:uint = 0; i < 6; i++) { var mcToMove:MovieClip = this["movi" + (i + 1)]; mcToMove.x = mcToShuffle[i].x; mcToMove.y = mcToShuffle[i].y; } function shuffle(a:Array):Array { var arr:Array = []; while (a.length > 0) { arr.push(a.splice(Math.round(Math.random() * (a.length - 1)), 1)[0]); } return arr; } |
||
MaxiPa Profil * |
#5 · Zasláno: 30. 8. 2010, 14:21:03
Díky moc. Asi jsem měl napsat dřív, že se hrabu spíš jednoduší verzí (AS2). Můžu ještě znova otravovat? Jak se to u AS2 liší?
|
||
Xka Profil * |
#6 · Zasláno: 31. 8. 2010, 07:40:52
Johnik:
Hele, mně ten script nefunguje. V čem m§že být problém? nelíbí se mu -uint -jména proměnných -když už to nějak opravím, tak ale některý ty movie překrejvá - to asi tazatel nechtěl (podle mě chtěl zobrazit vždycky všechno, jen na různých pozicích). Ale todle fakt nevím jak udělat. Xka |
||
Johnik Profil |
#7 · Zasláno: 31. 8. 2010, 08:00:17
Xka:
Nevim proc se ti nelibi uint... Promenne si nazvi jak uznas za vhodne, treba a, b, c nebo jeste lip a1, a2... Kod jsem opravil do funkcni podoby. |
||
Xka Profil * |
#8 · Zasláno: 31. 8. 2010, 09:37:05
Johnik:
Já neříkám, že se mi nelíbí uint - ale flash ho vyhazuje: Error..... |
||
Johnik Profil |
#9 · Zasláno: 31. 8. 2010, 10:38:29
Xka:
uint je zakladni (stejne jako int nebo Number) typ promenne v as 3. Flash (od verze CS3) nemuze vyhazovat chybu v pripade pouziti uint. |
||
Xka Profil * |
#10 · Zasláno: 31. 8. 2010, 15:49:17
Johnik:
To nevím, ale mne to chybu vážně vyhazuje....ale když nahradím uint za int tak šlape bez prostestů?? Jo a nechci do toho moc rejt, ale nechtěl ten MaxiPa náhodou kód v AS2 (Jsem jízlivej, co? Ale je fakt, že v AS2 bych to nesved - no možná taky, ale musel bych mooc přemejšlet a na to jsem línej). X |
||
Časová prodleva: 15 dní
|
|||
Pepan934 Profil * |
#11 · Zasláno: 15. 9. 2010, 10:06:50
Johnik:
Ahoj, jmenuju se Pepan a jsem tu úplně novej. Začal jsem se v jednom kurzu učit Flash teďka s AS, ale řek bych, že lektor, co jsme ho teď dostali, toho moc neví. Skripty začal vysvětlovat v AS2. Todle promíchávání by se mi do mýho projektu moc hodilo - ale z AS3 neznám ani ťuk a tudíž do AS2 (ve kterým navíc znám jemom stručné základy) si něco podobnýho nikdy sám nepřevedu. Nemohl bys todle to samý (ten skriptík) napsat v AS2. Moc prosím.... Díky Pepan |
||
Johnik Profil |
#12 · Zasláno: 15. 9. 2010, 15:18:33
Melo by to fungovat stejne i v as 2. Jen si uint zmen na Number a Point na Array.
|
||
Pepan934 Profil * |
#13 · Zasláno: 17. 9. 2010, 08:55:15
Johnik:
Tak jsem se zařidil podle rady - chybu to nevyhazuje, ale taky to nefunguje. Nemělo by to třeba být v nějaké proceduře, nebo nějaký jiný zápis? Pepan |
||
Časová prodleva: 14 let
|
0