Handboek Annuleren

Tijdlijnen en ActionScript

 

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 naar een geladen document te verwijzen, gebruikt u het formulier _levelX, 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. In het volgende voorbeeld wordt getoond hoe de instantie portland de instantie atlanta zou adresseren, die zich in een filmclip met de naam georgia bevindt (georgia bevindt zich op hetzelfde niveau als oregon):

_level5.georgia.atlanta
_level5.georgia.atlanta
_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. Als de filmclips southcarolina en florida beide in hetzelfde niveau worden geladen, kan een handeling die is aangeroepen via de instantie southcarolina het volgende absolute pad gebruiken om florida als doel in te stellen:

_root.eastCoast.florida
_root.eastCoast.florida
_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 beheert een filmclip die zich twee niveaus omhoog in de hiërarchie bevindt. De bovenste tijdlijn op een niveau van Flash Player is de enige tijdlijn met een waarde _parent die ongedefinieerd is.

Een handeling in de tijdlijn van de instantie charleston, gesitueerd één niveau onder southcarolina, kan het volgende doelpad gebruiken om de instantie southcarolina tot doel te maken:

_parent
_parent
_parent

Als u de instantie eastCoast (één niveau omhoog) vanuit een handeling in charleston als doel wilt instellen, kunt u het volgende relatieve pad gebruiken:

_parent._parent
_parent._parent
_parent._parent

Als u de instantie atlanta vanuit een handeling in de tijdlijn van charleston als doel wilt instellen, kunt u het volgende relatieve pad gebruiken:

_parent._parent.georgia.atlanta
_parent._parent.georgia.atlanta
_parent._parent.georgia.atlanta

Relatieve paden zijn nuttig voor het hergebruiken van scripts. U kunt bijvoorbeeld het volgende script aan een filmclip koppelen, dat het bovenliggende element met 150% vergroot:

onClipEvent (load) { _parent._xscale
= 150; _parent._yscale = 150;
}
onClipEvent (load) { _parent._xscale = 150; _parent._yscale = 150; }
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 pad of relatief pad gebruikt, u identificeert een variabele in een tijdlijn of een eigenschap van een object met een punt (.), gevolgd door de naam van de variabele of eigenschap. De volgende instructie stelt de variabele name in de instantie form bijvoorbeeld in op de waarde 'Gilbert':

_root.form.name = "Gilbert";
_root.form.name = "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 filmclips bevat op zijn beurt twee filmclips.

_level0
westCoast
california
sanfrancisco
bakersfield
oregon
portland
ashland
washington
olympia
ellensburg
_level0 westCoast california sanfrancisco bakersfield oregon portland ashland washington olympia ellensburg
_level0 
        westCoast 
                california 
                        sanfrancisco 
                        bakersfield 
                oregon 
                        portland 
                        ashland 
                washington 
                        olympia 
                        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 er vanaf verschillende locaties wordt aangeroepen; het relatieve pad naar california vanaf sanfrancisco is _parent, maar vanaf 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

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

Doelpad opgeven via het dialoogvenster Doelpad invoegen

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

    Dit is de beherende tijdlijn.

  2. 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.
  3. Klik in het parametervak of op de locatie in het script waar u het doelpad wilt invoegen.
  4. Klik op de knop Doelpad invoegen boven het Script-veld.
  5. Selecteer Absoluut of Relatief voor de doelpadmodus.
  6. Selecteer een filmclip in het weergaveoverzicht Doelpad invoegen en klik op OK.

Doelpad handmatig opgeven

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

    Dit is de beherende tijdlijn.

  2. 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.
  3. Klik in het parametervak of op de locatie in het script waar u het doelpad wilt invoegen.
  4. Voer een absoluut of relatief doelpad in het deelvenster Handelingen in.

Expressie gebruiken als een doelpad

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

    Dit is de beherende tijdlijn.

  2. 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.
  3. 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();

Krijg sneller en gemakkelijker hulp

Nieuwe gebruiker?