Construiți un player video dinamic cu ActionScript 3 Partea 3 din 3

Aici este, ultima parte a tutorialului nostru pentru video-player! Tot ce trebuie să facem acum este să lucrăm cu indicatorul de timp, să adăugăm funcția de clic pe butonul de acasă, să poziționăm și să dimensionăm videoclipul curent și să introducem o bară plină cu videoclipuri împreună cu scruber-ul. Să începem!




Pasul 1: Ora video

Mai intai trebuie sa adaugam un ascultator la scena numita videoTimeEnterFrame care actualizeaza timpul video in fiecare cadru. Adăugați această linie la funcția videoItemClick.

 stage.addEventListener (Event.ENTER_FRAME, videoTimeEnterFrame); // rulează această funcție de fiecare dată când introducem un nou cadru

Acum, să adăugăm funcția videoTimeEnterFrame.

 funcția videoTimeEnterFrame (eveniment: Eveniment): void var totalSeconds: Number = ns.time; // variabilă pentru a menține ns.time var totalSeconds2: Number = duration; // variabilă pentru a menține durata var minute: Number = Math.floor (totalSeconds / 60); // variabilă pentru a ține totalul rotunjitSecunde împărțite la 60 var minute2: Număr = Matematică (totalSeconds2 / 60); // variabilă pentru a ține numărul total rotunjitSeconds2 împărțit la 60 var secunde = Math.floor (totalSeconds)% 60; // variabilă pentru a obține 60% din totalSeconds sec seconds2 = Math.floor (totalSeconds2)% 60; // variabilă pentru a obține 60 la sută din totalul Secundă2 dacă (secunde < 10) // if the seconds variable is less than 10 then…  seconds = "0" + seconds; // the seconds variable is equal to 0:seconds  if(seconds2 < 10) // if the seconds2 variable is less than 10 then…  seconds2 = "0" + seconds2; // the seconds2 variable is equal to 0:seconds  videoTimeTxt.text = minutes + ":" + seconds + " / " + minutes2 + ":" + seconds2; // update the videoTimeTxt field with the total time and current time. 

Pasul 2: Butonul Acasă

Adăugarea butonului de ascultare a clicurilor pentru butonul de pornire ne va permite să revenim la nivelul superior al galeriei actuale pe care ne aflăm. Adăugați-o în partea de sus a codului nostru sub celelalte funcții pe care le avem la pornire.

 homeBtn.addEventListener (MouseEvent.CLICK, homeBtnClick); // ascultător când se face clic pe butonul de acasă

Pasul 3: Funcția homeBtnClick

 funcția homeBtnClick (eveniment: MouseEvent): void if (currentGallery == 0) // dacă variabila curentGallery este egală cu 0 Tweener.addTween (container_mc, alpha: 0, time: : removeGallery0); // adăugați containerul_mc și executați funcția removeGallery0 dacă (currentGallery == 1) Tweener.addTween (container_mc, alpha: 0, timp: .5, tranziție: "easeOut", onComplete: removeGallery1);  dacă (currentGallery == 2) Tweener.addTween (container_mc, alpha: 0, timp: .5, tranziție: "easeOut", onComplete: removeGallery2); 

Testați-vă filmul, dați clic pe o galerie pentru a vedea lista de videoclipuri. Acum faceți clic pe butonul Acasă. Playerul dvs. va estompa acum videoclipurile curente și le va înlocui cu elementele din categoria curentă.

Pasul 4:

Pentru a seta videoWidth & videoHeight trebuie să adăugăm un cod pentru a obține mai întâi valorile. Trebuie să adăugăm acest cod la videoItemClickFunction de deasupra liniei ns.play.

 videoWidth = xml.GALLERY [actualGallery] .CATEGORY [categorieItemName] .ITEM [videoItemName] .file_width; // obține lățimea videoclipului din xml videoHeight = xml.GALLERY [currentGallery] .CATEGORY [categoryItemName] .ITEM [videoItemName] .file_height; // obține înălțimea videoclipului din xml video.width = videoWidth; // setați lățimea videoclipului la variabila videoWidth video.height = videoHeight; // setați înălțimea videoclipului la variabila videoHeight

Pasul 5: PozițieVideo Listener & Funcție

Acum avem setul video la lățimea și înălțimea corecte. Ultimul lucru pe care trebuie să-l faceți este să îl poziționați în mijlocul zonei de vizualizare. Adăugați această linie la videoItemClickFunction deasupra gamei ns.play (curentVideo): linie nevalidă.

 positionVideo ();

Apoi adăugați funcția pentru a face față evenimentului positionVideo.

 funcțiaVideo (): void video.x = 0; // setați videoclipul la 0 la 0 video.y = 0; // setați videoclipul y la 0 var vidWidthDif = videoBlackBox.width - videoWidth; // obține diferența dintre lărgimea videoBlackBox și lățimea videoclipului - țineți-o în această variabilă var vidHeightDif = videoBlackBox.height - videoHeight; // obține diferența dintre înălțimea și înălțimea videoclipului videoBlackBox - țineți-o în această variabilă video.x = vidWidthDif / 2; // poziționează videoclipul lui x video.y = vidHeightDif / 2; // Poziționați videoclipul y

Pasul 6: Deplasați ns.play încă o dată

Taiați și lipiți această linie în partea de jos a funcției Videoclip.

 ns.play (currentVideo);

Acum, dacă vă testați fișierul, veți avea videoclipul pentru a obține lățimea și înălțimea pe care le setăm în XML și modificați dimensiunile acestuia, apoi redați videoclipul.

Pasul 7: Adăugați variabilele pentru articolele recomandate

Aceste variabile vor crea și menține temele noastre prezentate într-un film.

 var featuredContainer: MovieClip; // creați un nou videoclip pentru a ține piesele de videoclipuri recomandate: featuredThumbLoader: Loader; // crea un încărcător nou pentru încărcarea videoclipurilor recomandate var featuredItemName; // creați o nouă variabilă FeaturedItemName pentru a ține numele elementului recomandat pe care îl vom face clic

Pasul 8: Videoclipuri recomandate

Pentru a verifica videoclipurile prezentate în xml, adăugați acest cod la funcția myXmlLoaded. Acesta va trece prin toate videoclipurile și va returna pe cele care sunt setate la adevărat.

 checkForFeaturedVids (); // rulați această funcție când xml este încărcat

Pasul 9: funcția checkForFeaturedVids

Această funcție este la fel ca și funcția makeGalleryItems pe care am configurat-o în partea a doua. Vom crea opțiunile de prezentare a obiectelor FeaturedContainer bazate pe xml, le așezăm și le vom dispărea în mod corect, vom încărca imaginea miniatură și vom elimina preloaderul cu o separată funcția de mai jos.

Nota editorului: Ei bine, iată-ne din nou ... Cei dintre voi care folosesc FireFox ar fi găsit înghețarea paginii grație acestui mic bloc de ActionScript. Pentru a menține lucrurile fără probleme, iată codul pentru descărcare. Scuze pentru neplăceri.

Pasul 10: Faceți clic pe Listener

Acum trebuie să setăm un ascultător să se ocupe de ceea ce se întâmplă atunci când dăm clic pe un element moviectlip prezentat. Adăugați această linie la instrucțiunea if din funcția checkForFeaturedVids sub ascultătorii myFeaturedItems btnOver & btnOut.

 myFeaturedItem.addEventListener (MouseEvent.CLICK, myFeaturedItemClick);

Pasul 11: funcția myFeaturedItemClick

Asta se întâmplă când faceți clic pe un element recomandat:

 funcția myFeaturedItemClick (eveniment: MouseEvent): void featuredItemName = event.target.name; // a obține elementul curent și a seta-l la variabila featuredItemName curentVideo = xml.GALLERY.CATEGORY.ITEM.file_path [featuredItemName]; // setați variabila actualăVideo la videoclipul prezentat în fișierul xml videoTitleTxt.text = xml.GALLERY.CATEGORY.ITEM.file_title [featuredItemName]; // setați numele titlurilor video videoWidth = xml.GALLERY.CATEGORY.ITEM.file_width [featuredItemName]; // obțineți lățimea videoclipului videoHeight = xml.GALLERY.CATEGORY.ITEM.file_height [featuredItemName]; // obțineți înălțimea videoclipului video.width = videoWidth; // setați lățimea videoclipului video.height = videoHeight; // setați poziția înălțimii videoVideo (); // executați această funcție stage.addEventListener (Event.ENTER_FRAME, videoTimeEnterFrame); // modificați timpul de redare a videoclipului

Pasul 12: Variabile ale barei de derulare recomandate

Mai întâi adăugați o variabilă pentru a ține numele pentru nume scurte de movieclips.

 var featuredScrollTrack: MovieClip = featuredBox_mc.featuredScrollbar_mc.featuredScrollbarTrack_mc; var featuredScrollThumb: MovieClip = featuredBox_mc.featuredScrollbar_mc.featuredScrollbarThumb_mc; var featuredScrollMask: MovieClip = featuredBox_mc.featuredScrollbar_mc.featuredMasker_mc; var xOffset: Număr; var xMin: Număr = 0; var xMax: Număr; var featuredThumbDif: Număr;

Pasul 13: Ascultați butoanele pentru butoanele cursorului

Apoi adăugați aceste linii în partea de sus a codului nostru sub ceilalți ascultători care încep când se deschide fișierul.

 featuredScrollThumb.addEventListener (MouseEvent.MOUSE_OVER, btnOver); featuredScrollThumb.addEventListener (MouseEvent.MOUSE_OUT, btnOut); featuredScrollThumb.buttonMode = true; featuredScrollThumb.mouseChildren = false;

Pasul 14: checkFeaturedContainerWidth

Aici vom face ceva foarte similar cu funcția checkFeaturedContainerWidth din partea 2.

 funcția checkFeaturedContainerWidth (): void if (featuredContainer.width> featuredScrollMask.width) linkFeaturedScroller (); featuredScrollThumb.addEventListener (MouseEvent.MOUSE_DOWN, featuredScrollbarThumbDown); stage.addEventListener (MouseEvent.MOUSE_UP, featuredScrollbarThumbUp); featuredScrollThumb.visible = true; featuredScrollThumb.alpha = 0; Tweener.addTween (featuredScrollThumb, alpha: 1, timp: .5, tranziție: "easeOut");  altceva featuredScrollThumb.removeEventListener (MouseEvent.MOUSE_DOWN, sideScrollbarThumbDown); stage.removeEventListener (MouseEvent.MOUSE_UP, featuredScrollbarThumbUp); Tweener.addTween (featuredScrollThumb, alpha: 0, timp: .5, tranziție: "easeOut", onComplete: hideFeaturedScrollbarThumb);  functie hideFeaturedScrollbarThumb (): void featuredScrollThumb.visible = false; 

Pasul 15: Funcții

Adăugați funcțiile pentru a merge cu ascultătorii în funcția checkFeaturedContainerWidth.

 funcția linkFeaturedScroller (): void featuredScrollThumb.x = 0; featuredContainer.mask = featuredScrollMask; xMax = featuredScrollTrack.width - featuredScrollThumb.width;  funcția featuredScrollbarThumbDown (eveniment: MouseEvent): void featuredScrollThumb.removeEventListener (MouseEvent.MOUSE_OVER, btnOver); featuredScrollThumb.removeEventListener (MouseEvent.MOUSE_OUT, btnOut); stage.addEventListener (MouseEvent.MOUSE_MOVE, featuredScrollbarThumbMove); xOffset = mouseX - featuredScrollThumb.x;  funcția featuredScrollbarThumbUp (eveniment: MouseEvent): void featuredScrollThumb.addEventListener (MouseEvent.MOUSE_OVER, btnOver); featuredScrollThumb.addEventListener (MouseEvent.MOUSE_OUT, btnOut); featuredScrollThumb.gotoAndStop ( "peste"); Tweener.addTween (featuredContainer, _Blur_blurX: 0, timpul: 1, tranziție: "easeOut"); stage.removeEventListener (MouseEvent.MOUSE_MOVE, featuredScrollbarThumbMove);  funcția featuredScrollbarThumbMove (eveniment: MouseEvent): void featuredScrollThumb.x = mouseX - xOffset; în cazul în care (featuredScrollThumb.x <= xMin)  featuredScrollThumb.x = xMin;  else if(featuredScrollThumb.x >= xMax) featuredScrollThumb.x = xMax;  featuredThumbDif = featuredScrollThumb.x / xMax; Tweener.addTween (featuredContainer, x: ((- featuredThumbDif * (featuredContainer.width - featuredScrollMask.width)) + 25), _Blur_blurX: 5, timp: 1, tranziție: "easeOut"); event.updateAfterEvent (); 

Concluzie

Deci, acolo aveți, dați-vă un pic pe spate dacă ați terminat și începeți să puneți niște videoclipuri pe web!

!

Cod