WArmanW zip ֆայլի մեջ երևի մոռացել ես Class-ը դնես, մենակ .fla-նա:

Մեջբերում George-ի խոսքերից Նայել գրառումը
Լ.յ.ո.վ եթե դժվար չի կբացատրես մանրամասն գրածդ կոդը?
Բացատրելու շատ բան չկա: Ամեն դեպքում մի երկու խոսք ասեմ`

Ունենք 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-ի օրինակում հենց տենցա արված):

Սենց որ գրեմ շատ կգրեմ, ավելի լավա եթե ինչ-որ կոնկրետ հարցեր ունես տուր պատասխանեմ