|
Med de anpassade användargränssnittskomponenterna för FLV-uppspelning kan du anpassa utseendet på FLVPlayback-kontrollerna i FLA-filen och göra så att du ser resultaten när du förhandsvisar webbsidan. Däremot är de här komponenterna inte utformade för att storleksändras. Du bör redigera ett filmklipp och dess innehåll så att de har en angiven storlek. Därför är det vanligtvis bäst att FLVPlayback-komponenten på scenen har den önskade storleken, med
scaleMode
inställd på
exactFit
.
Till att börja med drar du de anpassade användargränssnittskomponenter för FLV-uppspelning som du vill ha från panelen Komponenter, placerar dem där du vill ha dem på scenen och ger dem instansnamn.
De här komponenterna kan fungera utan ActionScript. Om du placerar dem på samma tidslinje och bildruta som FLVPlayback-komponenten och det inte finns något skal i komponenten, ansluter FLVPlayback-komponenten automatiskt till dem. Om du har flera FLVPlayback-komponenter på scenen, eller om den anpassade kontrollen och FLVPlayback-instansen inte finns på samma tidslinje, behövs ActionScript.
När komponenterna finns på scenen redigerar du dem på samma sätt som andra symboler. När du öppnar komponenterna ser du att alla har lite olika inställningar.
Button-komponent
Button-komponenterna har en liknande struktur. Följande Buttons finns: BackButton, ForwardButton, MuteButton, PauseButton, PlayButton, PlayPauseButton och StopButton. De flesta har ett enda filmklipp i bildruta 1 med instansnamnet placeholder_mc. Det är vanligtvis en instans av knappens normala läge, men behöver inte vara det. I bildruta 2 finns fyra filmklipp på scenen för varje visningsläge: normal, över, ned och inaktiverad. (Vid körning kommer komponenten egentligen aldrig till bildruta 2. De här filmklippen är placerade här för att göra redigeringen enklare och för att tvinga dem att läsas in i SWF-filen utan att du behöver markera kryssrutan Exportera i första bildrutan i dialogrutan Symbolegenskaper. Men du måste fortfarande markera alternativet Exportera för ActionScript.)
Om du vill ange ett skal för knappen redigerar du något de här filmklippen. Du kan ändra deras storlek och deras utseende.
Viss ActionScript visas vanligtvis på bildruta 1. Du ska inte behöva ändra det här skriptet. Det stoppar uppspelningshuvudet på bildruta 1 och anger vilket filmklipp som ska användas för olika lägen.
PlayPauseButton, MuteButton, FullScreenButton och CaptionButton
Knapparna PlayPauseButton, MuteButton, FullScreenButton och CaptionButton ställs in på ett annat sätt än de övriga knapparna. De har bara en ram med två lager och inget skript. I ramen finns två knappar ovanpå varandra: för PlayPauseButton finns en Play button och en Pause button, för MuteButton finns en Mute-on button och en Mute-off button, för FullScreenButton finns en full-screen-on button och en full-screen-off button, och för CaptionButton finns en caption-on button och en caption-off button. Om du vill ange skal för de här knapparna anger du skal för var och en av de två interna knapparna enligt beskrivningen i
Skala anpassade användargränssnittskomponenter för FLV-uppspelning individuellt
. Ingen ytterligare åtgärd krävs.
CaptionButton är till för komponenten FLVPlaybackCaptioning och måste kopplas till den komponenten, och inte till FLVPlayback-komponenten.
BackButton och ForwardButton
Knapparna BackButton och ForwardButton ställs också in annorlunda än de övriga knapparna. På bildruta 2 har de extra filmklipp som du kan använda som en ram runt en av eller båda knapparna. De här filmklippen är inte obligatoriska och har inga speciella egenskaper. Det finns bara med för att underlätta. Om du vill använda dem drar du dem till scenen från panelen Bibliotek och placerar dem där du vill ha dem. Om du inte vill ha dem låter du bli att använda dem eller tar bort dem från panelen Bibliotek.
De flesta knapparna baseras på en gemensam uppsättning med filmklipp, så att du kan ändra utseendet på alla knapparna samtidigt. Du kan använda den här funktionen, eller du kan byta ut de gemensamma klippen och göra så att alla knappar ser olika ut.
Komponenten BufferingBar
Komponenten BufferingBar är enkel. Den består av en animering som blir synlig när komponenten hamnar i buffertläge, och kräver inget särskilt ActionScript för att konfigureras. Som standard är den ett randigt fält från vänster till höger med en rektangulär mask på för att ge den en ”polkagris”-effekt, men det är inget särskilt med den här konfigurationen.
Även om BufferingBars i skal-SWF-filer använder skalning med nio segment eftersom de måste skalas under körning, behöver den anpassade gränssnittskomponenten BufferingBar FLV inte och
kan inte
använda skalning med nio segment, eftersom den har kapslade filmklipp. Om du vill göra BufferingBar bredare och högre kan du ändra innehållet i stället för att skala den.
Komponenterna SeekBar och VolumeBar
Komponenterna SeekBar och VolumeBar liknar varandra, även om de har olika funktioner. Båda har handtag, använder samma mekanismer för handtagsspårning och har stöd för klipp som är kapslats i dem för att spåra förloppet och fullbordan.
Det finns många platser där ActionScript-koden i FLVPlayback-komponenten antar att registreringspunkten (även
origo
och
nollpunkt
) för SeekBar- eller VolumeBar-komponenten finns i det övre vänstra hörnet av innehållet, så det är viktigt att behålla den konventionen. Annars kan du få problem med handtag och progress- och fullness-filmklipp.
Även om SeekBars i skal-SWF-filer använder skalning med nio segment eftersom de måste skalas under körning, behöver den anpassade gränssnittskomponenten SeekBar FLV inte och
kan inte
använda skalning med nio segment, eftersom den har kapslade filmklipp. Om du vill göra SeekBar bredare och högre kan du ändra innehållet i stället för att skala den.
Handtag
En instans av handtagsfilmklippet finns i bildruta 2. Precis som med komponenterna BackButton och ForwardButton kommer komponenten egentligen aldrig till bildruta 2. De här filmklippen är placerade här för att göra redigeringen enklare och för att tvinga dem att läsas in i SWF-filen utan att du behöver markera kryssrutan Exportera i första bildrutan i dialogrutan Symbolegenskaper. Men du måste ändå markera alternativet Exportera för ActionScript.
Du kan se att handtagsfilmklippet har en rektangel i bakgrunden med värdet 0 för alfa. Den här rektangeln ökar storleken på handtagets träffområde, och gör det enklare att ta tag i det utan att ändra dess utseende, på liknanden sätt som en knapps träffläge. Eftersom handtaget skapas dynamiskt vid körning måste det vara ett filmklipp och inte en knapp. Den här rektangeln med värdet 0 för alfa behövs inte för något annat, och vanligtvis kan du byta ut handtagets insida mot en annan bild. Men det fungerar bäst om du behåller registreringspunkten centrerad i mitten av handtagsfilmklippet.
Följande ActionScript-kod finns i bildruta 1 för SeekBar-komponenten för att hantera handtaget:
stop();
handleLinkageID = "SeekBarHandle";
handleLeftMargin = 2;
handleRightMargin = 2;
handleY = 11;
Anropet till funktionen
stop()
är nödvändigt på grund av innehållet i bildruta 2.
Den andra raden anger vilken symbol som ska användas som handtag, och du behöver inte ändra den om du bara redigerar handtagsfilmklippets instans i bildruta 2. Vid körning skapar FLVPlayback-komponenten en instans av det angivna filmklippet på scenen som en jämställd komponent till förkomsten av Bar-komponenten. Det betyder att de har samma överordnade filmklipp. Om en Bar finns på rotnivå måste alltså handtaget också finnas på rotnivå.
Variabeln
handleLeftMargin
bestämmer handtagets ursprungliga plats (0%), och variabeln
handleRightMargin
bestämmer var det finns på slutet (100%). Numren anger förskjutningarna från vänster och höger ände av Bar-kontrollen, där positiva nummer markerar gränserna inuti fältet och negativa nummer markerar gränserna utanför fältet. De här förskjutningarna anger vart handtaget kan ta vägen, baserat på dess registreringspunkt. Om du placerar registreringspunkten i mitten av handtaget hamnar handtagets bortersta vänstra och högra sidor utanför marginalerna. Ett SeekBar-filmklipp måste ha registreringspunkten som innehållets övre vänstra hörn för att fungera korrekt.
Variabeln
handleY
bestämmer handtagets
y
-position i relation till Bar-instansen. Den baseras på varje filmklipps registreringspunkt. Registreringspunkten i exempelhandtaget ligger i toppen på triangeln för att placeras relativt till den synliga delen, och den osynliga träfflägesrektangeln ignoreras. Ett Bar-filmklipp måste också behålla registreringspunkten som innehållets övre vänstra hörn för att fungera korrekt.
Om en Bar-kontroll, med de här gränserna, till exempel ställs in på (100, 100) och den är 100 pixlar bred, kan handtaget variera mellan 102 och 198 vågrätt och förbli 111 lodrätt. Om du ändrar
handleLeftMargin
och
handleRightMargin
till -2 och
handleY
till -11, kan handtaget variera mellan 98 och 202 vågrätt och förbli 89 lodrätt.
Progress- och fullness-filmklipp
Komponenten SeekBar har ett
progress
-filmklipp och VolumeBar har ett
fullness
-filmklipp, men i praktiken kan alla SeekBar och VolumeBar ha något, inget eller båda dessa filmklipp. De är strukturellt desamma och beter sig på liknande sätt, men spårar olika värden. Ett progress-filmklipp fylls när FLV-filen laddas ned (vilket bara är praktiskt för en HTTP-nedladdning, eftersom det alltid är fullt vid direktuppspelning från from FMS). Fullnes-filmklipp fylls när handtaget flyttas från vänster till höger.
Komponenten FLVPlayback hittar de här filmklippsinstanserna genom att leta efter ett visst instansnamn, så instansen av progress-filmklippet måste ha ditt Bar-filmklipp som överordnat filmklipp samt instansnamnet progress_mc. Instansen av fullness-filmklippet måste ha instansnamnet fullness_mc.
Du kan ställa in progress- och fullness-filmklippen med eller utan filmklippsinstansen fill_mc kapslad. Filmklippet VolumeBar fullness_mc visar metoden
med
filmklippet fill_mc, och filmklippet SeekBar progress_mc visar metoden
utan
filmklippet fill_mc.
Metoden med filmklippet fill_mc kapslat är användbar när du vill ha en fyllning som inte kan skalas utan att förvränga utseendet.
I filmklippet VolumeBar fullness_mc är den kapslade filmklippsinstansen fill_mc maskerad. Du kan maskera den när du skapar filmklippet, eller också skapas en mask dynamiskt vid körning. Om du maskerar den med ett filmklipp ger du instansen namnet
mask_mc
och ställer in den så att fill_mc visas som det skulle när procentandelen är 100 %. Om du inte maskerar fill_mc blir den dynamiskt skapade masken rektangulär och får samma storlek som fill_mc vid 100 %.
Filmklippet fill_mc visas med masken på ett av två sätt, beroende på om fill_mc.slideReveal har värdet
true
eller
false
.
Om fill_mc.slideReveal har värdet
true
flyttas fill_mc från vänster till höger för att visas genom masken. Vid 0 % finns det längst till vänster, så att inget av det visas genom masken. När procentandelen ökar flyttas det åt höger tills det befinner sig vid 100 %, där det skapades på scenen.
Om fill_mc.slideReveal har värdet
false
eller är odefinierat (standardbeteendet), ändras maskens storlek från vänster till höger för att visa mer av fill_mc. När det är på 0 % skalas masken till 05 vågrätt, och när procentandelen ökar, ökar
scaleX
ända upp till 100 %, då hela fill_mc visas. Det behöver inte nödvändigtvis vara
scaleX
= 100, eftersom mask_mc kan ha skalats när den skapades.
Metoden utan fill_mc är enklare än metoden med fill_mc, men den förvränger fyllningen vågrätt. Om du inte vill ha den förvrängningen måste du använda fill_mc. SeekBar progress_mc illustrerar den här metoden.
Progress- eller fullness-filmklippet skalas vågrätt baserat på procentandelen. Vid 0 % har instansens
scaleX
värdet 0 och blir osynlig. När procentandelen växer justeras
scaleX
tills klippet, vid 100 %, har samma storlek som när det skapades på scenen. Det behöver inte nödvändigtvis vara
scaleX
= 100, eftersom klippinstansen kan ha skalats när den skapades.
Ansluta anpassade användargränssnittskomponenter för FLV-uppspelning
Om du placerar dina anpassade användargränssnittskomponenter på samma tidslinje och i samma bildruta som FLVPlayback-komponenten, och du inte har ställt in egenskapen
skin
, ansluter FLVPlayback dem automatiskt utan att något ActionScript behövs.
Om du har flera FLVPlayback-komponenter på scenen, eller om den anpassade kontrollen och FLVPlayback inte finns på samma tidslinje, måste du skriva ActionScript-kod för att ansluta de anpassade användargränssnittskomponenterna till din instans av FLVPlayback-komponenten. Först måste du ge FLVPlayback-instansen ett namn, och sedan använder du ActionScript för att tilldela instanserna av den anpassade användargränssnittskomponenten för FLV-uppspelning till motsvarande FLVPlayback-egenskaper. I följande exempel är FLVPlayback-instansen my_FLVPlybk, FLVPlayback-egenskapsnamnen kommer efter punkterna (.) och instanserna av de anpassade användargränssnittskontrollerna för FLV-uppspelning är placerade till höger om likhetstecknen (=):
//FLVPlayback instance = my_FLVPlybk
my_FLVPlybk.playButton = playbtn; // set playButton prop. to playbtn, etc.
my_FLVPlybk.pauseButton = pausebtn;
my_FLVPlybk.playPauseButton = playpausebtn;
my_FLVPlybk.stopButton = stopbtn;
my_FLVPlybk.muteButton = mutebtn;
my_FLVPlybk.backButton = backbtn;
my_FLVPlybk.forwardButton = forbtn;
my_FLVPlybk.volumeBar = volbar;
my_FLVPlybk.seekBar = seekbar;
my_FLVPlybk.bufferingBar = bufbar;
Med följande steg skapar du anpassade StopButton-, PlayPauseButton-, MuteButton- och SeekBar-kontroller:
-
Dra FLVPlayback-komponenten till scenen och ge den instansnamnet
my_FLVPlybk
.
-
Ställ in parametern
source
via komponentinspektören till
http://www.helpexamples.com/flash/video/cuepoints.flv
.
-
Ställ in parametern Skal på Inget.
-
Dra en StopButton, en PlayPauseButton och en MuteButton till scenen, och placera dem över FLVPlayback-instansen, så att de staplasa lodrätt på vänster sida. Ge varje knapp ett instansnamn i egenskapsinspektören (till exempel
my_stopbttn
,
my_plypausbttn
och
my_mutebttn
).
-
I panelen Bibliotek öppnar du mappen med FLVPlayback-skal, och sedan öppnar du mappen SquareButton nedanför den.
-
Markera filmklippet SquareBgDown och dubbelklicka på det för att öppna det på scenen.
-
Högerklicka (Windows) eller Ctrl-klicka (Macintosh), välj Markera alla på menyn och ta bort symbolen.
-
Välj ovalverktyget, rita en oval på samma plats och ställ in blå fyllning (
#0033FF
).
-
I egenskapsinspektören ställer du in bredden (W:) till
40
och höjden (H:) till
20
. Ställ in x-koordinaten (X:) till
0.0
och y-koordinaten (Y:) till
0,0
.
-
Upprepa steg 6 till 8 för SquareBgNormal, men ändra fyllningen till gul (
#FFFF00
).
-
Upprepa steg 6 till 8 för SquareBgOver, men ändra fyllningen till grön (
#006600
).
-
Redigera filmklippen för de olika symbolerna i knapparna (PauseIcon, PlayIcon, MuteOnIcon, MuteOffIcon och StopIcon). Filmklippen finns i panelen Bibliotek under FLV Playback Skins/
Etikett
Button/Assets, där
Etikett
är namnet på knappen, till exempel Play, Pause, osv. Följ dessa steg för var och en:
-
Välj alternativet Markera allt.
-
Ändra färgen till röd (
#FF0000
).
-
Ändra skalan till 300 %.
-
Ändra innehållets X:- plats till
7.0
för att ändra den vågräta placeringen av ikonen i alla knapplägen.
Obs!
Genom att ändra placeringen på det här sättet undviker du att öppna varje knappläge och flytta ikonens filmklippsinstans.
-
Klicka på den blå Tillbaka-pilen ovanför tidslinjen för att återgå till scen 1, bildruta 1.
-
Dra en SeekBar-komponent till scenen och placera den i det nedre högra hörnet av FLVPlayback-instansen.
-
I panelen Bibliotek dubbelklickar du på SeekBar för att öppna den på scenen.
-
Skala den till 400 %.
-
Markera konturen och ställ in röd färg (
#FF0000
).
-
Dubbelklicka på SeekBarProgress i mappen FLVPlayback Skins/Seek Bar och ställ in gul färg (
#FFFF00
).
-
Dubbelklicka på SeekBarHandle i mappen FLVPlayback Skins/Seek Bar och ställ in röd färg (
#FF0000
).
-
Klicka på den blå Tillbaka-pilen ovanför tidslinjen för att återgå till scen 1, bildruta 1.
-
Markera SeekBar-instansen på scenen och ge den instansnamnet
my_seekbar
.
-
Lägg till en
import
-sats för videoklasserna i panelen Åtgärder på i bildruta 1 i tidslinjen. Tilldela sedan Button- och SeekBar-namnen till motsvarande FLVPlayback-egenskaper, som i följande exempel:
import fl.video.*;
my_FLVPlybk.stopButton = my_stopbttn;
my_FLVPlybk.playPauseButton = my_plypausbttn;
my_FLVPlybk.muteButton = my_mutebttn;
my_FLVPlybk.seekBar = my_seekbar;
-
Tryck på Ctrl+Enter för att testa filmen.
|
|
|