Wanneer u een Flash-bestand met skin (FLA) opent, worden de lay-outs van de filmclips van de skin weergegeven op de hoofdtijdlijn. Deze clips en de ActionScript-code die zich in hetzelfde frame bevindt, definiëren de lay-out van de besturingselementen bij uitvoering.
Hoewel de lay-outlaag veel lijkt op het uiterlijk van de skin bij uitvoering, is de inhoud van deze laag niet zichtbaar bij uitvoering. Deze laag wordt alleen gebruikt om de plaatsing van de besturingselementen te berekenen. De overige besturingselementen in het werkgebied worden bij uitvoering gebruikt.
In de lay-outlaag bevindt zich een plaatsaanduiding video_mc voor de component FLVPlayback. De lay-out van alle overige besturingselementen wordt bepaald ten opzichte van video_mc. Wanneer u begint met een van de Flash-bestanden (FLA) en de grootte van de besturingselementen wijzigt, kunt u waarschijnlijk de lay-out bepalen door deze clips voor plaatsaanduiding te verplaatsen.
Elke clip voor plaatsaanduiding heeft een specifieke instantienaam. De namen van de clips voor plaatsaanduiding zijn playpause_mc, play_mc, pause_mc, stop_mc, captionToggle_mc, fullScreenToggle_mc, back_mc, bufferingBar_mc, bufferingBarFill_mc, seekBar_mc, seekBarHandle_mc, seekBarProgress_mc, volumeMute_mc, volumeBar_mc en volumeBarHandle_mc. Het gedeelte dat een nieuwe kleur krijgt wanneer u een skinkleur selecteert, wordt border_mc genoemd.
Het is niet van belang welke clip wordt gebruikt voor een besturingselement. Over het algemeen wordt voor knoppen de clip voor de normale toestand gebruikt. Voor overige besturingselementen wordt de clip voor het betreffende besturingselement gebruikt, maar dit is alleen voor het gemak. De enige belangrijke onderdelen zijn de posities
x
(horizontaal) en
y
(verticaal) en de hoogte en breedte van de plaatsaanduiding.
Naast de standaardbesturingselementen kunt u zo veel aanvullende clips gebruiken als u wenst. De enige vereiste voor deze clips is dat voor de bijbehorende bibliotheeksymbolen de optie Exporteren voor ActionScript in het dialoogvenster Koppelingseigenschappen is geselecteerd. Aangepaste clips in de lay-outlaag kunnen elke instantienaam hebben, behalve de gereserveerde instantienamen die hiervoor zijn opgesomd. Een instantienaam is alleen nodig om ActionScript in de clips in te stellen om de lay-out te bepalen.
De clip border_mc is bijzonder. Wanneer u de eigenschap
FlvPlayback.skinAutoHide
op
true
instelt, wordt de skin weergegeven wanneer de muisaanwijzer zich boven de clip border_mc bevindt. Dit is belangrijk voor skins die buiten de grenzen van de videospeler worden weergegeven. Zie voor informatie over de eigenschap
skinAutoHide
Het gedrag van een skin aanpassen
.
In de Flash-bestanden (FLA) wordt border_mc gebruikt voor chroom en voor de randen rondom de knoppen Vorige en Volgende.
De clip border_mc is ook het gedeelte van de skin waarvan de alpha en kleur worden gewijzigd door de eigenschappen
skinBackgroundAlpha
en
skinBackgroundColor
. Wanneer u aanpasbare kleur en alpha wilt toestaan, moet de ActionScript-code in het FLA-bestand met skin het volgende bevatten:
border_mc.colorMe = true;
ActionScript en skinlay-out
De ActionScript-code hieronder is algemeen van toepassing op alle besturingselementen. Sommige besturingselementen hebben specifieke ActionScript die aanvullend gedrag definieert. Dit wordt beschreven in de sectie voor het betreffende besturingselement.
Het begin van de ActionScript-code bestaat uit een groot gedeelte waarin de klassenamen voor elke status van elke component worden opgegeven. Deze klassenamen bevinden zich alle in het bestand SkinOverAll.fla. Voor de knoppen Pauzeren en Afspelen ziet de code er bijvoorbeeld als volgt uit:
this.pauseButtonDisabledState = "fl.video.skin.PauseButtonDisabled";
this.pauseButtonDownState = "fl.video.skin.PauseButtonDown";
this.pauseButtonNormalState = "fl.video.skin.PauseButtonNormal";
this.pauseButtonOverState = "fl.video.skin.PauseButtonOver";
this.playButtonDisabledState = "fl.video.skin.PlayButtonDisabled";
this.playButtonDownState = "fl.video.skin.PlayButtonDown";
this.playButtonNormalState = "fl.video.skin.PlayButtonNormal";
this.playButtonOverState = "fl.video.skin.PlayButtonOver";
De klassenamen hebben geen werkelijke externe klassebestanden en worden alleen opgegeven in het dialoogvenster Koppelingseigenschappen voor alle filmclips in de bibliotheek.
In de ActionScript 2.0-component waren er filmclips in het werkgebied die werkelijk werden gebruikt bij uitvoering. In de ActionScript 3.0-component zijn deze filmclips nog steeds in het FLA-bestand opgenomen, maar alleen om het bewerken ervan te vergemakkelijken. Deze clips bevinden zich nu in geleidelagen en worden niet geëxporteerd. Alle skinelementen in de bibliotheek zijn ingesteld om te worden geëexporteerd op het eerste frame en worden dynamisch gemaakt met bijvoorbeeld de volgende code:
new fl.video.skin.PauseButtonDisabled();
Na dit gedeelte volgt ActionScript-code die de minimale breedte en hoogte voor de skin definieert. In het dialoogvenster Skin selecteren worden deze waarden weergegeven en deze worden gebruikt bij uitvoering om te voorkomen dat de skin kleiner wordt geschaald dan de minimale grootte. Wanneer u geen minimale grootte wilt opgeven, laat u deze ongedefinieerd of stelt u deze in op kleiner dan of gelijk aan nul.
// minimum width and height of video recommended to use this skin,
// leave as undefined or <= 0 if there is no minimum
this.minWidth = 270;
this.minHeight = 60;
Op elke plaatsaanduiding kunnen de volgende eigenschappen worden toegepast:
|
Eigenschap
|
Beschrijving
|
|
anchorLeft
|
Boolean. Plaatst het besturingselement ten opzichte van de linkerkant van de instantie FLVPlayback. De standaardwaarde is
true
, tenzij
anchorRight
expliciet wordt ingesteld op
true
. In dat geval is de standaardwaarde
false
..
|
|
anchorRight
|
Boolean. Plaatst het besturingselement ten opzichte van de rechterkant van de instantie FLVPlayback. De standaardwaarde is
false
.
|
|
anchorBottom
|
Boolean. Plaatst het besturingselement ten opzichte van de onderkant van de instantie FLVPlayback. De standaardwaarde is
true
, tenzij
anchorTop
expliciet wordt ingesteld op
true
. In dat geval is de standaardwaarde
false
.
|
|
anchorTop
|
Boolean. Plaatst het besturingselement ten opzichte van de bovenkant van de instantie FLVPlayback. De standaardwaarde is
false
.
|
Wanneer de eigenschappen
anchorLeft
en
anchorRight
beide
true
zijn, wordt het besturingselement horizontaal geschaald bij uitvoering. Wanneer de eigenschappen
anchorTop
en
anchorBottom
beide
true
zijn, wordt het besturingselement verticaal geschaald bij uitvoering.
Wanneer u de effecten van deze eigenschappen wilt zien, kunt u kijken naar het gebruik ervan in de Flash-skins. De besturingselementen voor bufferbalk en zoekbalk zijn de enige met schaling. Deze worden boven elkaar geplaatst en voor beide zijn de eigenschappen
anchorLeft
en
anchorRight
ingesteld op
true
. Voor alle besturingselementen aan de linkerkant van de bufferbalk en zoekbalk is
anchorLeft
ingesteld op
true
en voor alle besturingselementen aan de rechterkant is
anchorRight
ingesteld op
true
. Voor alle besturingselementen is
anchorBottom
ingesteld op
true
.
U kunt proberen de filmclips in de lay-outlaag te bewerken om een skin te maken waar de besturingselementen zich aan de bovenkant bevinden in plaats van aan de onderkant. U hoeft alleen de besturingselementen aan de bovenkant te verplaatsen ten opzichte van
video_mc
en
anchorTop
in te stellen op
true
voor alle besturingselementen.