WArmanW zip ֆայլի մեջ երևի մոռացել ես Class-ը դնես, մենակ .fla-նա:
Բացատրելու շատ բան չկա: Ամեն դեպքում մի երկու խոսք ասեմ`
Ունենք Array, որում գրված են բոլոր նկարների հասցեները (տվյալ դեպքում անունները, քանի որ նույն ֆոլդերում են): Այդ Array-ը կարող ես գրել ձեռքով (եթե նկարները չեն փոխվելու), կարող ես ստանալ նաև "դրսից", ասենք ինչ-որ XML ֆայլից կամ էլ MySQL-ից PHP-ի միջոցով: (եթե պետք լինի ասա ձևը կասեմ)
Մեկ նկարի դեպքը ոնց որ թե պարզ է:
- Ստեղծում ես Loader. var myLoader:Loader=new Loader();
- Ավելացնում ես EventListener-ը, որ Load-ը վերջացնելուց հետո նկարը օգտագործի. myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
- Տալիս ես ֆայլի հասցեն, որ սկսի load-ը. myLoader.load(new URLRequest(pictureArray[i]) );
- Գրում ես ֆունկիցան, որը պիտի ավելացնի բեռնված նկարը քո ուզած Օբյեկտին. function loadComplete(evt:Event):void{ ... }
loadComplete ֆունկիցան ամեն մի Loader-ի համար առանձին-առանձին չգրելու համար կօգտագործենք ոչ թե myLoader.content-ը նկարը ստանալու համար այլ evt.target.content-ը, քանի որ evt.target-ը իրենից ներկայացնում է այն Loader-ը որը "կանչել" է loadComplete ֆունկցիան:
Ասեմ նաև տարբերությունը իմ բերած 2 եղանակների`
1. Միանգամից բոլոր նկարները Load անելու դեպքում միանգամից ստեղծում ենք նկարների քանակությամբ Loader-ներ ու բոլորին էլ միանգամից տալիս ենք, որ նկարը բեռնեն: Պարզա որ էս մեթոդը ծանր կաշխատի դանդաղ ինտերնետի ու մեծ թվով նկարների համար:
2. Հերթով Load անելու դեպքում ստեղծում ենք ընդամենը մեկ Loader, ու տալիս ենք, որ ամեն անգամ մի նկարը բեռնելուց հետո անցնի մյուսին եթե բոլոր նկարները դեռ բեռնված չեն (WArmanW-ի օրինակում հենց տենցա արված):
Սենց որ գրեմ շատ կգրեմ, ավելի լավա եթե ինչ-որ կոնկրետ հարցեր ունես տուր պատասխանեմ![]()
Էջանիշներ