Tijdlijnen en ActionScript

Laatst bijgewerkt op 24 mei 2023

ActionScript® biedt u de mogelijkheid de tijdlijn te besturen tijdens de uitvoering. Met ActionScript kunt u uw FLA-bestanden voorzien van interactie en andere functies die niet mogelijk zijn met alleen de tijdlijn.

ActionScript® biedt u de mogelijkheid de tijdlijn te besturen tijdens de uitvoering. Met ActionScript kunt u uw FLA-bestanden voorzien van interactie en andere functies die niet mogelijk zijn met alleen de tijdlijn.

Zie het onderwerp over tijdlijnen en ActionScript in de Help op het web voor meer informatie over het besturen van de tijdlijn met ActionScript.

Absolute paden

Een absoluut pad begint met de naam van het niveau waarin het document is geladen en loopt het weergaveoverzicht door totdat de doelinstantie is bereikt. U kunt ook de alias _root gebruiken om naar de bovenste tijdlijn op het huidige niveau te verwijzen. Een handeling in de filmclip california die naar de filmclip oregon verwijst, kan het absolute pad _root.westCoast.oregon gebruiken.

Het eerste document dat in Flash Player wordt geopend, wordt op niveau 0 geladen. U moet elk additioneel document dat wordt geladen een niveaunummer toewijzen. Wanneer u een absolute verwijzing in ActionScript gebruikt om een geladen document van verwijzingen te voorzien, gebruik de vorm _level X , waar X het niveaunummer is waarin het document wordt geladen. Het eerste document dat bijvoorbeeld in Flash Player wordt geopend, krijgt de naam _level0 en een document dat in niveau 3 wordt geladen, krijgt de naam _level3.

Als u met documenten op verschillende niveaus wilt communiceren, moet u de niveaunaam in het doelpad gebruiken. Het volgende voorbeeld toont hoe de portland instantie de atlanta instantie richt die in een geroepen filmklem georgië wordt gevestigd ( georgië is op het zelfde niveau zoals oregon ):
_level5.georgia.atlanta

U kunt de alias _root gebruiken om naar de hoofdtijdlijn op het huidige niveau te verwijzen. In het geval van de hoofdtijdlijn, staat de alias _root voor _level0 wanneer deze het doel is van een filmclip die zich ook op _level0 bevindt. Voor een document dat is geladen in _level5, staat _root gelijk aan _level5 wanneer deze het doel is van een filmclip die zich ook op niveau 5 bevindt. Bijvoorbeeld, als de filmklemmen southcarolina en florida allebei in het zelfde niveau worden geladen, kon een actie die van de instantie wordt geroepen southcarolina de volgende absolute weg gebruiken om de instantie florida te richten:
_root.eastCoast.florida

Relatieve paden

Een relatief pad is afhankelijk van de relatie tussen de beherende tijdlijn en de doeltijdlijn. Relatieve paden kunnen doelen alleen binnen hun eigen niveau van Flash Player adresseren. U kunt een relatief pad bijvoorbeeld niet in een handeling voor _level0 gebruiken, die een tijdlijn op _level5 als doel wil instellen.

Gebruik in een relatief pad het gereserveerde woord this om naar de huidige tijdlijn op het huidige niveau te verwijzen; gebruik de alias _parent om de bovenliggende tijdlijn van de huidige tijdlijn aan te geven. U kunt de alias _parent herhaaldelijk gebruiken om binnen hetzelfde niveau van Flash Player één niveau in de filmcliphiërarchie omhoog te gaan. Bijvoorbeeld, _parent._parent controleert een filmklem omhoog twee niveaus in de hiërarchie. De bovenste tijdlijn op een niveau van Flash Player is de enige tijdlijn met een waarde _parent die ongedefinieerd is.

Een actie in de Chronologie van de instantie charleston , gevestigd één niveau onder southcarolina , kon de volgende doelweg gebruiken om de instantie southcarolina te richten:
_parent

Om de instantie EastCoast (één niveau omhoog) van een actie in charleston te richten, kon u de volgende relatieve weg gebruiken:
_parent._parent

Om de instantie atlanta van een actie in de Chronologie van charleston te richten, kon u de volgende relatieve weg gebruiken:
_parent.html_parent.georgia.atlanta

Relatieve paden zijn nuttig voor het hergebruiken van scripts. Bijvoorbeeld, kon u het volgende manuscript aan een filmklem vastmaken die zijn ouder met 150% vergroot:
onClipEvent (load) { _parent._xscale
= 150; _parent._yscale = 150;
}

U kunt het script opnieuw gebruiken door dit aan een filmclipinstantie te koppelen.

 Flash Lite 1.0 en 1.1 ondersteunen alleen het koppelen van scripts aan knoppen. Het koppelen van scripts aan filmclips wordt niet ondersteund.

Ongeacht of u een absoluut of relatief pad gebruikt, identificeert u een variabele in een tijdlijn of een eigenschap van een object met een punt (.) gevolgd door de naam van de variabele of eigenschap. Bijvoorbeeld, plaatst de volgende verklaring veranderlijke naam in de instantie vorm aan de waarde "Gilbert":
_root.form.name = "Gilbert";

Absolute en relatieve doelpaden gebruiken

U kunt ActionScript gebruiken om berichten van een tijdlijn naar een andere te versturen. De tijdlijn die de handeling bevat wordt de beherende tijdlijn genoemd en de tijdlijn die de handeling ontvangt wordt de doeltijdlijn genoemd. Bijvoorbeeld, er kan zich een handeling op het laatste frame van een tijdlijn bevinden die een andere tijdlijn opgeeft af te spelen. Als u naar een doeltijdlijn wilt verwijzen, moet u een doelpad gebruiken die de locatie van een filmclip in het weergaveoverzicht aangeeft.

Het volgende voorbeeld toont de hiërarchie van een document met de naam westCoast op niveau 0, dat drie filmclips bevat: california, oregon en washington. Elk van deze filmklemmen bevat beurtelings twee filmklemmen.
_level0 

        WestCoast 

                california 

                        sanfrancisco 

                        bakkerij 

                oregon 

                        havenland 

                        ashland 

                washington 

                        olympie 

                        ellensburg

Net als bij een webserver kan elke tijdlijn in Animate op twee manieren worden geadresseerd: met een absoluut of relatief pad. Het absolute pad van een instantie is altijd een volledig pad van een niveaunaam, ongeacht welke tijdlijn de handeling aanroept. Het absolute pad naar de instantie california is bijvoorbeeld _level0.westCoast.california. Een relatief pad verschilt wanneer het wordt aangeroepen vanuit verschillende locaties; bijvoorbeeld, is de relatieve weg aan california van sanfrancisco _parent , maar van portland , is het _parent.parent.california .

Doelpaden opgeven

Wanneer u een filmclip, geladen SWF-bestand of knop wilt beheren, moet u een doelpad opgeven. U kunt dit handmatig opgeven, met het dialoogvenster Doelpad invoegen, of door een expressie te maken die een doelpad oplevert. Als u een doelpad voor een filmclip of knop wilt opgeven, moet u een instantienaam toewijzen aan de filmclip of knop. Een geladen document heeft geen instantienaam nodig, omdat u het niveaunummer als instantienaam kunt gebruiken (bijvoorbeeld _level5).

Instantienaam toewijzen aan een filmclip of knop

Selecteer een filmclip of het knop in het werkgebied.
Voer een instantienaam in Eigenschapcontrole in.

Doelpad opgeven via het dialoogvenster Doelpad invoegen

Selecteer een filmclip, frame of knopinstantie waaraan u de handeling wilt toewijzen.

Dit is de beherende tijdlijn.

Ga in het deelvenster Handelingen (Venster > Handelingen) naar de werkset Handelingen aan de linkerkant en selecteer een handeling of methode die een doelpad nodig heeft.
Klik in het parametervak of op de locatie in het script waar u het doelpad wilt invoegen.
Klik op de knop Doelpad invoegen boven het Script-veld.
Selecteer Absoluut of Relatief voor de doelpadmodus.
Selecteer een filmclip in het weergaveoverzicht Doelpad invoegen en klik op OK.

Doelpad handmatig opgeven

Selecteer een filmclip, frame of knopinstantie waaraan u de handeling wilt toewijzen.

Dit is de beherende tijdlijn.

Ga in het deelvenster Handelingen (Venster > Handelingen) naar de werkset Handelingen aan de linkerkant en selecteer een handeling of methode die een doelpad nodig heeft.
Klik in het parametervak of op de locatie in het script waar u het doelpad wilt invoegen.
Voer een absoluut of relatief doelpad in het deelvenster Handelingen in.

Expressie gebruiken als een doelpad

Selecteer een filmclip, frame of knopinstantie waaraan u de handeling wilt toewijzen.

Dit is de beherende tijdlijn.

Ga in het deelvenster Handelingen (Venster > Handelingen) naar de werkset Handelingen aan de linkerkant en selecteer een handeling of methode die een doelpad nodig heeft.
Ga als volgt te werk:
  • Voer in een parametervak een expressie in die een doelpad oplevert.

  • Klik om het invoegpunt in het script te plaatsen. Dubbelklik vervolgens in de categorie Functies in de werkset Handelingen op de functie targetPath. De functie targetPath zet een verwijzing naar een filmclip om in een tekenreeks.

  • Klik om het invoegpunt in het script te plaatsen. Selecteer vervolgens in de categorie Functies in de werkset Handelingen de functie eval. De functie eval zet een tekenreeks om in een verwijzing naar een filmclip die kan worden gebruikt voor het aanroepen van methoden zoals play.

    Het volgende script wijst de waarde 1 aan de variabele i toe: Vervolgens wordt de functie eval gebruikt om een verwijzing naar een filmclipinstantie te maken; deze wordt aan de variabele x toegewezen. De variabele x is nu een verwijzing naar een filmclipinstantie en kan de methoden van het object MovieClip aanroepen.

    i = 1; x = eval("mc"+i); x.play(); // dit is equivalent aan mc1.play();

    U kunt de functie eval ook gebruiken om methoden direct aan te roepen, zoals getoond in het volgende voorbeeld:

    eval("mc" + i).play();