Toestemming controles. Speciale tekstblokken

Hoofdstuk 5. Werken met tekst

Op enige Flash-film kan tekst worden toegevoegd. Net als bij het werken in gewone teksteditors, kan tekst worden ingesteld op grootte, lettertype, stijl, spatiëring, kleur en uitlijning. U kunt het lettertype transformeren zoals andere objecten - roteren, schalen, scheeftrekken. Tegelijkertijd blijft de mogelijkheid om de symbolen te bewerken behouden.

Op basis van een stukje tekst kan een hyperlink worden gemaakt.

Flash-Film kan zowel dynamische tekstvelden als door de gebruiker bewerkbare velden bevatten. Bewerkbare velden in Flash-films hebben hetzelfde doel als tekstvelden die in een formulier op een webpagina worden geplaatst: met hun hulp kan een of andere informatie van de gebruiker worden verkregen om op de server of door een clientscript te worden verwerkt. Ten slotte kunt u schuifbare tekstgebieden met meerdere regels maken.

Indien nodig kan de tekst worden omgezet in een grafisch object en dan mag met zijn symbolen worden gewerkt zoals met afzonderlijke grafische vormen.

Tekst maken en bewerken

Een tekstvak toevoegen aan: Flash-film, volg deze stappen:

  1. Schakel het tekstgereedschap in het deelvenster Gereedschappen in.
  2. Klik met de muis in de positie op de tafel waar u het tekstveld wilt plaatsen; als resultaat verschijnt op deze positie een tekstcursor, omgeven door een selectiekader.
  3. Typ Text.

Merk op dat er in de rechterhoek van het selectiekader (boven of onder) een markering is die het type tekstvak definieert (Fig. 5.1): de rechthoekige markering in de rechterbovenhoek komt overeen met het tekstblok Vast; in zo'n veld wordt automatisch doorgeschakeld naar de volgende regel als het volgende teken niet op de huidige regel past; de breedte van het veld wordt door de gebruiker ingesteld door de markering te slepen; nadat de film is gepubliceerd op een webserver, kan de inhoud van een dergelijk veld niet worden gewijzigd door script of door de lezer van de webpagina;

  • de ronde markering in de rechterbovenhoek komt overeen met het uitgebreide tekstblok; Het is een tekstvak van één regel dat automatisch wordt uitgevouwen terwijl u typt; deze optie wordt standaard gebruikt; de inhoud van een dergelijk veld kan evenmin door script of door de lezer van de webpagina worden gewijzigd;

Rijst. 5.1. Markeringen voor tekstblokken

  • de witte rechthoekige markering in de rechter benedenhoek komt overeen met het tekstveld dat bedoeld is voor het invoeren van dynamisch veranderende inhoud - Dynamisch tekstblok of Invoertekstblok; de inhoud van het veld van het eerste type kan worden gewijzigd met behulp van een script en de tweede - door de lezer van de webpagina (bijvoorbeeld bij het invoeren van gegevens in een formulier);
  • de zwarte rechthoekige markering in de rechter benedenhoek geeft een tekstvak aan waarvan de inhoud kan worden verplaatst (gescrolld) binnen het tekstgebied met behulp van een verticale en/of horizontale schuifbalk.

Om de kenmerken van een tekstblok, woord (stuk tekst) of een enkel teken te wijzigen, moet u:

  1. Schakel het gereedschap Tekst in.
  2. Selecteer (markeer) het bijbehorende tekstfragment met de muis.
  3. Selecteer in het menu Tekst de juiste opdracht of gebruik de besturingselementen die beschikbaar zijn in het infovenster van de teksteigenschappen.

Alle commando's van het Tekstmenu zijn onderverdeeld in drie groepen (Fig.5.2.):

  • de eerste bevat "traditionele" commando's voor het werken met tekst (Lettertype, Grootte, Stijl), die in feite trapsgewijze menu's zijn met mogelijke waarden van de corresponderende tekstattributen;
  • de tweede groep wordt gevormd door twee ook vrij veel voorkomende commando's - Uitlijnen en Volgen;
  • de derde groep bevat een enkele opdracht, - Scrollable, om de juiste eigenschap voor het tekstvak in te stellen.

Rijst. 5.2. Inhoud van de opdrachten in het tekstmenu

Een handiger hulpmiddel voor het wijzigen van tekstparameters is de eigenschappencontrole. Het formaat is afhankelijk van het type tekstvak.

Statische tekst

Statische tekst is de tekstinhoud van de film en kan niet worden gewijzigd nadat de film is gepubliceerd.

Het formaat van de eigenschappencontrole voor statische tekst wordt getoond in Fig. 5.3.

Rijst. 5.3. Statische teksteigenschappencontrole

Van de bedieningselementen die op het paneel worden gepresenteerd, hebben de volgende waarschijnlijk aanvullende uitleg nodig:

  • URL-tekstveld; door een tekstblok op de tabel te selecteren en in dit veld het volledige webadres (URL - Universal Resources Locator) van de gekoppelde bron te specificeren, krijgt u een echte hyperlink; in tegenstelling tot andere visuele editors wordt het echter niet weergegeven in een onderstreept lettertype, maar in een lettertype met een stippellijn. Gebruikt in Flash het mechanisme voor het maken van hyperlinks heeft twee nadelen: ten eerste moet de URL handmatig worden ingevoerd, en ten tweede, Flash controleert niet de juistheid van de URL, zelfs niet voor lokale bestanden;
  • Vervolgkeuzelijst Doel hiermee kunt u specificeren in welk browservenster de bron die op de opgegeven URL wordt aangeroepen, moet worden geladen; de lijst wordt beschikbaar wanneer u ten minste één teken in het URL-veld invoert; De lijst bevat de volgende opties (deze zijn hetzelfde als de standaard HTML TARGET-waarden):
    • _blank - het aangeroepen document wordt altijd in een nieuw, naamloos venster geladen;
    • _self - het aangeroepen document wordt altijd in hetzelfde venster geladen waarin de link is gestart;
    • _parent - het aangeroepen document wordt in het bovenliggende venster geladen (dat wil zeggen, in het venster van een hoger niveau van de hiërarchie); als het gegeven venster geen "ouder" heeft of zelf zo is, dan is het resultaat hetzelfde als het toepassen van de waarde van _self;
    • _top - het aangeroepen document wordt in het venster op het hoogste niveau geladen; (als het gegeven venster zelf zo is, dan is het resultaat hetzelfde als het gebruik van de waarde _self);
  • Selecteerbare knop het wordt gebruikt als een selectievakje: door op de knop te klikken, kunt u de bijbehorende eigenschap voor de tekst instellen of uitschakelen; er moet rekening mee worden gehouden dat de mogelijkheid om een ​​tekstfragment te selecteren niet betekent dat u het kunt bewerken; het geselecteerde fragment kan bijvoorbeeld naar het klembord worden gekopieerd;
  • de knop Tekstrichting wijzigen opent een menu; waarmee u de richting van het label kunt kiezen: horizontaal of verticaal; het menu bevat drie commando's (fig. 5.4):
    • Horizontaal
    • Verticaal, van links naar rechts;
    • Verticaal, van rechts naar links;

Bij het instellen van de verticale oriëntatie van de tekst verandert de samenstelling van de opmaakknoppen en wordt bovendien de knop Rotatie beschikbaar:

  • de knop Rotatie speelt de rol van een vlag en stelt u in staat de locatie van symbolen in het bijschrift te wijzigen (Fig. 5.5);
  • Gebruik het selectievakje Apparaatlettertype - indien aangevinkt, dan wanneer de film wordt afgespeeld Flash-de speler gebruikt de fysieke lettertypen die zijn ingesteld voor de browser van de lezer; dit kan de grootte van het filmbestand verkleinen en de leesbaarheid voor kleine lettertjes verbeteren.

Rijst. 5.4. Menu voor het wijzigen van de tekstrichting

Rijst. 5.5. Varianten van de opstelling van de verticale inscriptie: met de rotatieknop ingedrukt (links) en losgelaten (in het midden)

Het advies

Het is veel gemakkelijker om de vereiste positie van het verticale label te verkrijgen als u eerst de veldparameters instelt en vervolgens de eigenlijke tekst erin invoert. Als u probeert een horizontaal veld om te zetten in een verticaal label, kunt u het resultaat krijgen dat wordt getoond in Fig. 5,5, goed.

Houd er rekening mee dat hyperlinks alleen kunnen worden gemaakt op basis van horizontale tekst.

In de buurt van de rechterrand van het deelvenster Eigenschapcontrole bevindt zich de knop Opmaak. Als u hierop klikt, wordt een extra dialoogvenster geopend waarin u opmaakopties voor het tekstveld kunt instellen (Fig. 5.6).

Rijst. 5.6. Dialoogvenster Opmaakoptie

Dit venster bevat vier tekstvelden gecombineerd met schuifregelaars "Macromediastijl":

  • Inspringen - de hoeveelheid alinea-inspringing voor een nieuwe regel (in pixels);
  • Regelafstand - de afstand tussen aangrenzende lijnen (in punten); voor verticale tekst stelt deze parameter de afstand tussen tekstkolommen in;
  • Linkermarge - de afstand tussen de linkerrand van het tekstvak en het eerste teken van de regel;
  • Rechtermarge - De afstand tussen de rechterrand van het tekstvak en het laatste teken van de regel.

Het dialoogvenster Opmaakoptie is identiek voor alle typen tekstvelden.

Dynamische tekst

Dynamische (of veranderlijke tekst) Dynamische tekst is een tekstveld waarvan de inhoud kan worden gewijzigd door ActionScript (dat wil zeggen, terwijl een film wordt afgespeeld).

U kunt werken met een dynamisch tekstveld vanuit ActionScript omdat elk veld een instantie is van een speciaal ActionScript-object dat TextField wordt genoemd.

Aan een dynamisch tekstveld kan een unieke naam (identifier) ​​worden toegekend waarmee u naar het veld kunt verwijzen om de inhoud en opmaak van dat veld in te stellen of te wijzigen. U kunt bijvoorbeeld de tekencodering voor een dergelijk veld dynamisch wijzigen.

Dynamische tekstkenmerken instellen

Om de attributen van dynamische tekst in te stellen, bevat het eigenschappencontrolepaneel de volgende elementen (Fig.5.7):

  • Instantienaam tekstvak, dat de naam van het tekstvak specificeert ondanks het feit dat de veldnaam (direct erin) wordt weergegeven met grijze karakters, die meestal een vergrendeld interface-element in Windows-applicaties aangeven, is in dit geval invoer toegestaan;
  • Vervolgkeuzelijst voor regeltype met tekstveldformaten:
    • Enkele lijn
    • Multilijn
    • Multilijn zonder omslag
  • Geef tekst weer als HTML-knop; als erop wordt geklikt, worden de opgegeven tekstopmaakparameters (zoals grootte, stijl, gebruik als hyperlink) bij het publiceren van de film opgeslagen als overeenkomstige HTML-tags;
  • Knop Rand weergeven; als erop wordt geklikt, wordt het tekstvak omgeven door een kader;

Rijst. 5.7. Eigenschapcontrole-indeling voor dynamische tekst

  • Selecteerbaar selectievakje; het doel is vergelijkbaar met dat van statische tekst;
  • het Var-tekstveld (van Variabele) is bedoeld om de naam in te voeren van de variabele die is gekoppeld aan het gemaakte tekstveld; het gebruik van variabelen om de elementen van de film te controleren zal worden besproken in de subsectie "Interactieve elementen van de film maken";
  • de knop Tekens, waarop wordt geklikt om een ​​extra dialoogvenster Tekenopties te openen waarin u opties kunt instellen voor het gebruik van het inline-lettertype dat voor het tekstvak wordt gebruikt; het venster bevat drie schakelaars (Fig.5.8):
    • Geen tekens - Informatie over het gebruikte lettertype wordt niet geëxporteerd naar Flash-film wanneer deze wordt gepubliceerd;
    • Alle karakters - - in Flash-film bevat informatie over alle tekens in het lettertype;
    • Alleen (Favorieten) - in Flash-film bevat alleen informatie over die tekens in het lettertype, die worden aangegeven met de onderstaande vlaggen.

Rijst. 5.8. Dialoogvenster Tekenopties

De volgende uitleg moet worden gegeven over het instellen van de parameters van het ingesloten lettertype.

Wanneer u in . gebruikt Flash-filmlettertype geïnstalleerd op uw computer, Flash sluit lettertype-informatie in het SWF-bestand in, zodat de tekst correct wordt weergegeven Flash Player... Niet alle lettertypen die worden gebruikt in Flash kan worden geëxporteerd naar een SWF-bestand. Daarom is het raadzaam om eerst te controleren of dit lettertype geëxporteerd kan worden. Om dit te doen, selecteert u de opdracht Antialias-tekst in het menu Beeld en evalueert u het resultaat van de anti-aliasing. Als er geen afvlakking wordt gedaan, betekent dit dat: Flash zal een dergelijk lettertype niet herkennen en zal het niet exporteren.

Een alternatieve manier is om fysieke lettertypen te gebruiken (Device Font).

Fysieke lettertype-informatie wordt niet geëxporteerd naar: SWF-bestand... In plaats van dit Flash Player gebruikt elk lettertype dat op de computer is geïnstalleerd dat het dichtst bij het fysieke lettertype ligt.

Aangezien fysieke lettertype-informatie niet is opgenomen in: SWF-bestand, deze optie zorgt voor een iets kleinere bestandsgrootte Flash-film... Bovendien kan het fysieke lettertype scherper zijn dan het ingesloten lettertype voor kleine tekens (minder dan 10 punten). Als er echter geen geschikt lettertype beschikbaar is op de computer van de gebruiker, ziet de tekst er misschien niet helemaal uit wat de filmmaker had verwacht.

Flash bevat drie soorten fysieke lettertypen: _sans (dicht bij Helvetica en Verdana, Arial, Helvetica, sans-serif); _serif (dicht bij Times Roman); _typewriter (dicht bij Courier-lettertype).

Om het fysieke lettertype op te geven dat in dit tekstvak wordt gebruikt, moet u het selecteren in de lijst met beschikbare lettertypen in het infovenster voor teksteigenschappen.

Een schuifbaar tekstgebied maken

Op basis van een dynamisch tekstveld kan een verplaatsbaar (scrollbaar) tekstgebied worden gemaakt. Een voorbeeld van zo'n tekstgebied wordt getoond in Fig. 5.9.

Volg deze stappen om een ​​schuifbaar tekstgebied te maken:

Rijst. 5.9. Voorbeeld van schuifbaar tekstgebied

  1. Schakel het tekstgereedschap in en gebruik de muis om de randen van het tekstgebied op de tafel te tekenen.
  2. Gebruik in het deelvenster Eigenschapcontrole de vervolgkeuzelijst Lijntype om de opmaak van het tekstvak te selecteren; het is handig om je aan de volgende regels te houden:
    • als u een verticale schuifbalk wilt gebruiken, moet u het type Multiline of Multiline zonder omloop selecteren;
    • als u een veld met alleen een horizontale schuifbalk nodig heeft, moet u het type Enkele regel selecteren;
    • om een ​​veld met verticale en horizontale schuifbalken te maken, selecteert u het type Multiline zonder omloop.
  3. Stel indien nodig de vereiste waarden in voor de andere parameters van het tekstvak (stijl en grootte van het lettertype, kleur, enz.).
  4. Verplaats de muisaanwijzer buiten het tekstgebied en klik met de linkermuisknop zonder het tekstgereedschap uit te schakelen; de tekstcursor in het veld verdwijnt en wordt gemarkeerd met een zwart gestippeld kader.
  5. Beweeg de muisaanwijzer weer binnen het tekstgebied en klik met de rechtermuisknop (!) om het contextmenu te openen.
  6. Selecteer de opdracht Scrollable in het contextmenu.

Rijst. 5.10. Componentenpaneel

  • Zorg ervoor dat het werkgebied Flash het paneel Componenten is geopend; als het paneel gesloten is, kiest u Componenten in het menu Venster; dit paneel (Fig. 5.10) is ontworpen om bedieningselementen (knoppen, selectievakjes, lijsten, enz.) in de film op te nemen; meer over het werken met het Componenten paneel staat beschreven in het hoofdstuk "Interactieve films maken".
  • Zoek in het deelvenster Componenten het ScrollBar-element (gearceerd in Afbeelding 5.10) en sleep het naar het tekstgebied; Houd hierbij rekening met het volgende:
    • Flash past automatisch de grootte van de schuifbalk aan volgens de hoogte (voor verticaal) en lengte (voor horizontaal) van het tekstgebied;
    • om een ​​verticale schuifbalk te krijgen, plaatst u de schuifbalk langs de verticale rand van het gebied;
    • Om een ​​horizontale schuifbalk te krijgen, plaatst u het ScrollBar-element over de horizontale rand van het tekstgebied, zodat de muisaanwijzer zich binnen het tekstgebied bevindt, zoals weergegeven in Afbeelding 4-2. 5.11;
    • Flash maakt alleen een schuifregelaar op de schuifbalk als dit echt nodig is; dat wil zeggen, als het tekstgebied slechts één regel bevat, is er geen schuifregelaar op de verticale schuifbalk.

Rijst. 5.11. Een horizontale schuifbalk maken

Opmerking

De interactiviteit van de schuifbalk, net als andere bedieningselementen die in Flash-film, "Verschijnt" alleen na export naar SWF-formaat, evenals in de filmtestmodus. Om naar deze modus over te schakelen, moet u in het menu Besturing van het hoofdvenster Flash selecteer Film testen of Scène testen.

Als u om wat voor reden dan ook, als gevolg van het slepen van het ScrollBar-element, niet het gewenste type schuifbalk kunt krijgen, kunt u deze handmatig instellen. Dit vereist:

  1. Schakel het gereedschap Pijl in en klik op de schuifbalk die u niet gehoorzaamde om deze te selecteren.
  2. Klik in het geopende infovenster van de eigenschappen van dit element (Fig. 5.12) in het veld met elementeigenschappen op de horizontale lijn (in Fig. 5.12 is deze grijs gemarkeerd); als resultaat verschijnt er een vervolgkeuzelijst in de rij.
  3. Klik op de lijstknop en selecteer in het venster dat verschijnt (Figuur 5.13) waar als u een horizontale schuifbalk nodig heeft of onwaar als u een verticale schuifbalk wilt.

Nadat het tekstgebied is gevuld met schuifbalken, kunt u het tekstgereedschap inschakelen, in het gebied klikken en de gewenste tekst invoeren.

Rijst. 5.12. ScrollBar Property Inspector

Rijst. 5.13. De weergave van de schuifbalk instellen

Het advies

Als u het Cyrillische alfabet in het tekstveld gebruikt, wordt de tekst mogelijk niet correct weergegeven na het converteren van de film naar SWF-indeling of bij het testen van de film (met een andere codetabel, bijvoorbeeld West-Europees). Om dit te voorkomen, selecteert u het keuzerondje Alle tekens in het dialoogvenster Tekenopties (zie figuur 5.8) voordat u uw film publiceert.

Bewerkbare tekst

Bewerkbare tekst (Invoertekst) - dit type tekstveld is bedoeld voor het invoeren en bewerken van tekst door de lezer van een webpagina.

Zoals hierboven opgemerkt, is het bewerkbare tekstveld bedoeld om wat informatie van de gebruiker te ontvangen. Het kan bijvoorbeeld een zoekopdracht zijn naar een database op een server, of de naam van een filmscène waar een sitebezoeker naartoe zou willen gaan.

Het formaat van de eigenschappencontrole voor het instellen van de attributen van bewerkbare tekst wordt getoond in Fig. 7.14.

Vergeleken met de dynamische teksteigenschapcontrole heeft deze de volgende kenmerken:

Rijst. 5.14. Bewerkbare tekst Eigenschap Inspector Formaat

  • Ontbrekend URL-tekstvak en bijbehorende vervolgkeuzelijst Doel
  • de selecteerbare knop is niet beschikbaar (vergrendeld wanneer ingedrukt); dit is heel natuurlijk: de bewerkte tekst moet selecteerbaar zijn;
  • het tekstvak Maximum aantal tekens is aanwezig; dit veld moet een geheel getal zijn dat bepaalt hoeveel tekens de lezer mag invoeren.

De parameters van het bewerkingsvak kunnen, net als de parameters van dynamische tekst, worden gewijzigd met behulp van de ActionScript-taal. Om deze functie te gebruiken, moet u een unieke naam aan het bewerkingsveld toewijzen en (optioneel) de naam van de bijbehorende variabele specificeren.

Net als bij dynamische tekst zijn schuifbalken toegestaan ​​voor het bewerkingsvak.

Visuele effecten toepassen

Zoals opgemerkt aan het begin van dit hoofdstuk, samen met de standaard tekstopmaak Flash ondersteunt ook de mogelijkheid om specifieke effecten te creëren. Deze omvatten in het bijzonder het schalen van tekst, scheeftrekken, roteren, spiegelen. Na het uitvoeren van een van de transformatiebewerkingen blijft de tekst tekst, dat wil zeggen dat deze nog steeds niet als een grafisch object kan worden bewerkt, maar als een set tekstsymbolen alleen door enkele van de mogelijkheden te illustreren Flash... In afb. 5.15 toont een tekstgebied waarvan de inhoud kan worden gescrolld, zelfs nadat deze scheef is gezet.

Rijst. 5.15. Mogelijkheid illustratie Flash voor het werken met tekst

Nogmaals, de getransformeerde tekst blijft bewerkbaar terwijl u uw film ontwerpt. Om naar de tekstbewerkingsmodus te gaan, schakelt u het tekstgereedschap in en dubbelklikt u op het tekstveld. Daarna kunt u doorgaan met het invoeren van tekst, het verwijderen van tekens of het selecteren van een bepaald tekstfragment om het bijvoorbeeld naar het klembord te kopiëren (Fig. 5.16).

Om de vereiste transformaties uit te voeren, moet het tekstvak worden geselecteerd met het gereedschap Pijl of Vrije transformatie. In het laatste geval blijven de twee Free Transform-toolmodifiers (namelijk Distort en Envelope) echter niet beschikbaar. Om hun mogelijkheden te gebruiken, moet u overschakelen naar de teken-voor-teken tekstbewerkingsmodus.

Rijst. 5.16. Getransformeerde tekst bewerken

Tekst per teken bewerken

Om individuele karakters van de tekst te wijzigen, past u de Break Apart procedure erop toe. In dit geval zijn er twee onderverdelingsniveaus mogelijk:

  • het verdelen van de tekst in symbolen met behoud van de eigenschappen van elk van hen als een afzonderlijk stuk tekst;
  • het converteren van teksttekens naar grafische objecten.

Opmerking

De splitsingsprocedure kan worden toegepast op elk type tekstveld (statisch, dynamisch en bewerkbaar), maar na het splitsen van het eerste niveau wordt de tekst geconverteerd naar statisch.

Laten we de bovenstaande twee opties in meer detail bekijken. Als u tekst in tekens wilt verdelen, moet u:

  • Selecteer het tekstveld dat u wilt splitsen (de tekst erin moet al zijn getypt) met de gereedschappen Pijl, Vrije transformatie of Tekst.
  • Selecteer in het menu Wijzigen van het hoofdvenster de opdracht Break Apart.

Een visueel teken van splitsing is dat elk teken in de tekst is ingesloten in een apart kader (Figuur 5.17, rechts).

Na het splitsen van elk van de tekens kunnen alle bewerkingen worden uitgevoerd die zijn toegestaan ​​voor een "zelfstandig" tekstveld, waaronder:

  • vervanging door een ander tekstteken (dat wil zeggen, normale bewerking); hiervoor moet het bewerkte symbool worden geselecteerd met het gereedschap Tekst (Fig. 5.18, links);

Rijst. 5.17. Na het splitsen wordt elk teken van de tekst in een apart kader geplaatst

  • verhuizen naar een nieuwe functie; hiervoor volstaat het om het gereedschap Pijl of Vrije transformatie in te schakelen, de muisaanwijzer naar het symbool te verplaatsen en, wanneer het verplaatsingssymbool naast de aanwijzer verschijnt, op de linkermuisknop te drukken en het symbool te slepen (Fig. 5.18, in het centrum);
  • schalen, rotatie en andere soorten transformatie beschikbaar voor het tekstgebied (Fig. 7.18, rechts); hiervoor moet het symbool worden geselecteerd met het gereedschap Vrije transformatie.

Rijst. 5.18. Voorbeelden van bewerkingsbewerkingen per teken

Bovendien kunt u de kleurverandering van symbolen en automatische distributie van symbolen over de lagen van de scène uitvoeren. Het toepassen van lagen wordt besproken in het hoofdstuk "Animatie maken", dus voorlopig zullen we alleen de essentie van de genoemde bewerking uitleggen. Voor elk tekstsymbool wordt een aparte laag gemaakt en de symbolen worden automatisch over deze lagen verdeeld. Standaard vallen de namen van de gemaakte lagen samen met de symbolen die erop zijn geplaatst (Fig. 5.19).

Om symbolen automatisch over lagen te verdelen, volstaat het om de opdracht Verdelen over lagen te selecteren in het menu Wijzigen.

Nu over wat niet kan worden gedaan met symbolen nadat het tekstgebied eenmaal is gesplitst:

  • u kunt de vervormings- en envelop-modifiers van het gereedschap Vrije transformatie niet op hen toepassen;
  • je kunt er geen verloop of bitmapvulling voor gebruiken;
  • ze kunnen niet worden bewerkt met tekengereedschappen.

Om al deze "nee" kwijt te raken, volstaat het om de Break Apart-procedure opnieuw toe te passen op de tekstsymbolen. Dan kun je doen wat je fantasie je zegt te doen met de symbolen. In afb. 7.20 is verre van de meest geavanceerde optie voor het bewerken van een tekstsymbool.

Rijst. 5.19. Resultaat van automatische distributie van symbolen over lagen

Rijst. 5.20. Een voorbeeld van het wijzigen van een tekstteken na het opnieuw uitvoeren van de Break Apart-procedure

Opmerkingen

    1. Als een tekstveld één enkel symbool bevat, is het na één keer toepassen van de Break Apart-procedure beschikbaar voor bewerking als grafisch object.
    2. Break Apart is alleen van toepassing op TrueType-contourlettertypen. Bitmaplettertypen verdwijnen van het scherm als u de opgegeven bewerking erop probeert toe te passen.

Automatische lettertypevervanging

Wanneer je werkt met Flash-film in het formaat FLA, Flash kan, indien nodig, de standaardlettertypen vervangen door de lettertypen die op uw computer zijn geïnstalleerd. stelt u in staat om de naar uw mening meest geschikte vervangingsoptie te kiezen.

Opmerking

Het vervangen van lettertypen wordt alleen uitgevoerd voor de duur van de filmbewerking (dat wil zeggen, voor de duur van het werk met het FLA-bestand). De film wordt afgespeeld met het lettertype dat is opgegeven toen de film werd gemaakt.

Flash MX informeert u direct over de afwezigheid van een lettertype wanneer u een FLA-bestand opent. De relevante informatie wordt weergegeven in een speciaal dialoogvenster.

Dit venster bevat twee knoppen:

  • Kies Vervangen, waarmee u het dialoogvenster Lettertypetoewijzing kunt openen om het schema voor het vervangen van ontbrekende lettertypen te beschrijven;
  • Gebruik Standaard, klik erop om de ontbrekende lettertypen te vervangen volgens het bestaande vervangingsschema; als je altijd (of bijna altijd) van dit schema gebruik gaat maken, vink dan het selectievakje Waarschuw me niet meer aan voordat je op de knop klikt.

Om het schema van vervangingsopties te beschrijven, doet u het volgende in het venster Lettertypetoewijzing:

  1. Klik op de regel van het ontbrekende lettertype.
  2. Selecteer de meest geschikte in de vervolgkeuzelijst met lettertypen die op uw computer zijn geïnstalleerd.
  3. Als u liever een van de fysieke lettertypen als vervanging gebruikt Flash selecteer het vervolgens in de vervolgkeuzelijst Vervang lettertype rechtsonder in het venster.

Opmerking

Om vervolgens het gebruikte vervangingsschema te corrigeren, selecteert u de opdracht Lettertypetoewijzing in het menu Bewerken van het hoofdvenster en brengt u de vereiste wijzigingen aan in het dialoogvenster dat wordt geopend.

Tot slot merken we nog een kenmerk op van het werken met tekstinformatie in. U kunt het lettertype converteren naar een symbool voor een gedeelde bibliotheek voor gebruik in andere films. In dit geval wordt het benodigde lettertype tijdens het afspelen dynamisch geladen. Flash-film op de computer van de gebruiker (sitebezoeker). Met dit mechanisme kunt u de grootte van de film verkleinen. Voor meer informatie over het gebruik van bibliotheken, zie Hoofdstuk 9 - "Symbolen gebruiken".

Goedenavond iedereen! Vandaag zullen we met u praten over hoe u Flash op de site kunt insluiten. Het lijkt erop dat de vraag triviaal is. Als dit een banner is, kopieer dan gewoon de voorgestelde code en plaats deze via de editor in de sjabloon, widget of op de pagina. Als dit een flash-animatie voor een site is, voeg deze dan in met dezelfde code, maar dan zelf geschreven. Dit eenvoudige proces heeft echter zijn eigen subtiliteiten, waar we het nu over zullen hebben.

Flash-animatie voor de site

Dus moesten we de Flash-animatie op de site plaatsen. Hiervoor wordt de standaardcode gebruikt:

Op het eerste gezicht klopt alles en niets voorspelt problemen. Als u echter naar boven scrolt op de pagina, ziet u een zodanige functie dat de op deze manier geplaatste flash-animatie de admin-werkbalk overlapt - het bovenste zwarte paneel van de WordPress-admin.

Over het algemeen is dit niet kritisch, omdat alleen jij en je assistenten dit paneel zien als gebruikersregistratie op de blog is uitgeschakeld. Maar echte problemen ontstaan ​​wanneer de site een css-menu met meerdere niveaus gebruikt, waaronder een flashbanner wordt geplaatst, die deze in dit geval overlapt.

Dit komt omdat de flitser altijd voor de divs in de diepte staat. Om dit te voorkomen, hoeven we slechts één extra parameter aan onze code toe te voegen:

In dit geval gedraagt ​​de flitsfilm zich als een normaal beeld. U kunt ook dezelfde parameterwaarde = "transparant" gebruiken, maar dit zorgt voor extra belasting of vertraagt ​​het laden van de pagina. Het eindresultaat voor de flash-insluitcode op de site ziet er als volgt uit:

Plugin voor het plaatsen van flash animatie op de site

Als je vaak verschillende video's moet invoegen of gewoon bang bent om iets verkeerds in deze lange code te schrijven, dan kun je een plug-in gebruiken die automatisch een flash in de site invoegt - je hoeft alleen maar het adres van de locatie op te geven. Het heet WP-SWFObject. Download en installeer het zoals gewoonlijk, ga vervolgens naar Opties> WP-SWFObject en maak de nodige instellingen. Hier kunt u alles standaard laten staan, behalve één - het item "Venstermodus". Om swf in de site in te voegen, rekening houdend met de parameters die we nodig hebben, selecteert u hier in de vervolgkeuzelijst "OPAQUE" en slaat u de instellingen op.

Om nu een flash in de site in te voegen, schrijft u een shortcode (u kunt deze dan voor het gemak toevoegen aan het editorpaneel)

In actie ziet het er als volgt uit:

Gebruik een andere code om rechtstreeks via de sjabloon te posten:

Secties op deze pagina:

Laten we het nu hebben over de zogenaamde speciale tekstblokken, dat wil zeggen, over tekstblokken die speciale functies uitvoeren. Op dit moment zijn ze echter niet nuttig voor ons, maar ze zullen nodig zijn wanneer we programma's gaan schrijven in de Flash-omgeving (programmeren is gewijd aan deel IV van dit boek).

Invoervelden

Invoerveld - het is een soort kleine teksteditor die in een Windows-programmavenster wordt geplaatst en is ontworpen om tekst met één of meerdere regels in te voeren. Tegelijkertijd regelt Windows zelf de tekstinvoer: we typen gewoon tekens, gebruiken de pijltjestoetsen, toetsen , , selecteer de tekst, gebruik het klembord, zoals in elke "grote" teksteditor. De programmeurs van Microsoft hebben hard gewerkt om de standaard Windows-invoervelden echt bruikbaar te maken.

Om een ​​invoerveld in Flash te maken, moet u eerst een gewoon tekstvak op het werkblad plaatsen en dit selecteren met het pijlgereedschap (u hoeft geen tekst in het tekstvak in te voeren). Vervolgens vinden we in de linkerbovenhoek van het paneel Eigendommen een kleine vervolgkeuzelijst (zie Fig. 7.4) en selecteer het item Tekst invoeren. Als we daarna het resulterende tekstblok openen, zullen we zien wat wordt getoond in Fig. 7.9.


Dus wat zien we? En we zien de volledige set markeringen voor het wijzigen van de grootte (ze worden opgeslagen, zelfs als we het invoerveld sluiten). Dit betekent dat we ook de verticale grootte van het resulterende invoerveld kunnen wijzigen. En de rechthoekige markering in de rechterbovenhoek zal naar rechtsonder gaan - dit is een teken dat dit het invoerveld voor ons is.

Paneelweergave Eigendommen na het markeren wordt het invoerveld getoond in Fig. 7.10. Zoals u kunt zien, zijn er aanvullende controles waarmee rekening moet worden gehouden.


Allereerst verscheen direct onder de lijst die we zojuist hebben gebruikt een veld waarin we een unieke moeten opgeven naam, het identificeren van het Flash-invoerveld dat we hebben gemaakt. Elk invoerveld dat op een werkblad wordt gemaakt, moet een unieke naam hebben. Deze naam kan letters van het Russische en Latijnse alfabet, cijfers en onderstrepingstekens bevatten en moet beginnen met een letter of met een onderstrepingsteken.

Onder het invoerveld voor de volgtaak bevindt zich nog een vervolgkeuzelijst. Met zijn hulp wordt het type van het invoerveld geselecteerd. Er zijn vier items beschikbaar in deze lijst:

? Enkele lijn- normaal invoerveld met één regel;

? Multilijn- invoerveld met meerdere regels(met andere woorden, het bewerkingsgebied);

? Multilijn zonder omslag- een invoerveld met meerdere regels waarin automatische regelinvoer niet wordt uitgevoerd (hoewel de gebruiker de regel nog steeds handmatig kan onderbreken door op de );

? Wachtwoord- wachtwoord invoerveld. Vergelijkbaar met een normaal invoerveld van één regel, maar verbergt de tekst die erin wordt ingevoerd en geeft in plaats daarvan een reeks "sterretjes" weer.

Rechts van deze lijst staat een set van drie knoppen-schakelaars. De eerste is ons al bekend - hiermee kan de gebruiker de tekst in het invoerveld selecteren:


Zoals te zien in afb. 7.10, deze knop is ingedrukt en is niet beschikbaar, d.w.z. hij kan niet worden uitgeschakeld.

De tweede schakelknop, indien ingeschakeld, instrueert Flash om alle HTML-tags te verwerken die in de tekst worden aangetroffen:


Dus, als we een stukje tekst in de tag plaatsen<В>.. , Flash maakt het vet. Als deze knop is uitgeschakeld, geeft Flash de tekst weer zoals deze is, samen met eventuele HTML-tags die daar zijn opgegeven.

Over het algemeen is deze functie alleen nuttig als we de inhoud van het invoerveld van ActionScript specificeren, dus het wordt hier "van tevoren" beschreven. Raadpleeg de online Help van Flash voor meer informatie over ondersteuning voor HTML-tags voor invoervelden en dynamische tekstblokken.

De derde schakelknop, indien ingeschakeld, zorgt ervoor dat Flash een rand rond het invoerveld weergeeft, waardoor het laatste lijkt op een standaard Windows-invoerveld:


Als het is uitgeschakeld, heeft het invoerveld een "plat" uiterlijk.

Als het invoerveld dat we hebben gemaakt deel moet uitmaken van de originele interface, kunt u deze knop het beste uitgeschakeld laten. Als we het invoerveld voor de gebruiker bekender of zichtbaarder willen maken, kunnen we deze knop inschakelen.

Rechts van deze drie knoppen bevindt zich een invoerveld Var... Dit veld stelt de naam in van de ActionScript-variabele, waarin de tekst wordt geplaatst die is ingevoerd in het invoerveld dat we hebben gemaakt. Een variabele is een soort "opslagkamer" van gegevens, gemaakt in het geheugen van de computer en met een unieke naam waarmee deze op unieke wijze kan worden geïdentificeerd. We kunnen bij naam naar deze variabele verwijzen, er gegevens uit halen of er een nieuwe waarde in plaatsen. Variabelen worden in detail besproken in Hoofdstuk 19.

In het invoerveld Maximaal aantal tekens stelt het maximale aantal tekens in dat de gebruiker erin kan invoeren. Willen we dit aantal niet beperken, dan vullen we daar de waarde 0 in (dit is overigens de standaardwaarde van het veld).

Laten we nu teruggaan naar het onderwerp van het insluiten van lettertypen, maar deze keer met betrekking tot invoervelden (meer precies, tot alle speciale tekstblokken). Feit is dat in dit geval geen inbedding wordt uitgevoerd - Flash slaat alleen de namen van de gebruikte lettertypen op. Bij het renderen van een gerenderde afbeelding zoekt Flash Player eerst naar deze lettertypen op de clientcomputer en gebruikt deze, indien beschikbaar, om tekst weer te geven. Als er geen geschikt lettertype wordt gevonden, gebruikt de speler het lettertype dat het meest lijkt op het gewenste lettertype, waardoor het beeld kan worden vervormd. En dit is niet altijd acceptabel.

Maar we kunnen Flash nog steeds dwingen om beschrijvingen van geselecteerde tekens van het lettertype dat is opgegeven voor dit invoerveld in het resulterende Shockwave / Flash-bestand te injecteren. We zullen nu zien hoe dit wordt gedaan.

De keuze van lettertypetekens voor het insluiten wordt uitgevoerd in het dialoogvenster Karakter inbedding(afb. 7.11). Dit venster verschijnt op het scherm nadat u op de knop hebt gedrukt. Integreren panelen Eigendommen(zie afb. 7.10).


De grote lijst van dit venster stelt ons in staat om hele groepen symbolen te selecteren die in het resulterende Shockwave / Flash-bestand moeten worden ingesloten. Het bevat nogal wat items; dezelfde die gegarandeerd van pas zullen komen, worden hieronder gegeven:

? Alle (39477 tekens)- alle tekens van dit lettertype voor een bedrag van 39 477. Dit item wordt alleen ter informatie verstrekt; in werkelijkheid zal bijna niemand het gebruiken;

? Hoofdletters (27 tekens)- grote Latijnse letters (27 tekens);

? Kleine letters (27 tekens)- kleine Latijnse letters (ook 27 karakters);

? Cijfers (11 glyphs)- Arabische cijfers (11 tekens);

?Interpunctie [ [e-mail beveiligd]# $% ...] (52 tekens)- leestekens en speciale symbolen (52 tekens);

?Basis Latijn (95 glyphs)- letters van de meeste Europese talen (95 tekens);

?Cyrillisch (499 tekens)- Cyrillische letters (499 tekens). Misschien wel het belangrijkste punt in ons geval.

In deze lijst worden in de regel meerdere items tegelijk gemarkeerd (juist - wie heeft letters zonder cijfers nodig!). Om dit te doen, klikt u eerst op het eerste item uit de reeks die we willen selecteren en drukt u vervolgens op de toets en, terwijl u het ingedrukt houdt, klikt u op de resterende items totdat we alles hebben geselecteerd. Daarna kunt u de sleutel loslaten. .

Onder de lijst met lettertypen bevindt zich een invoerveld Voeg deze tekens toe. Daarin kunnen we handmatig de tekens invoeren die moeten worden ingesloten. Dit is handig als we alleen bepaalde tekens in het lettertype willen insluiten. En als we op de knop drukken Automatisch vullen, Flash zelf zal in dit invoerveld alle tekens vervangen die we in de tekst van het geselecteerde invoerveld hebben gebruikt.

Helemaal onderaan het venster Karakter opties er is een klein tekstvak Totaal aantal symbolen, laat zien hoeveel tekens we al hebben geselecteerd om in te sluiten. Zodat we op tijd kunnen stoppen.

Knop Niet insluiten kunt u snel alle symbolen verwijderen die we hebben gekozen om in te sluiten. Als u erop klikt, wordt het invoerveld gewist Voeg deze karakters toe, en in de grote lijst zal de selectie verdwijnen uit de items die we hebben geselecteerd.

Door opties voor het insluiten van lettertypen in een dialoogvenster in te stellen karakter inbedding, druk op de knop OKE, om ze toe te passen. Als u deze parameters moet annuleren, drukt u op de knop Annuleren.

Dynamische tekstvakken

Vaak wilt u, in plaats van gewone, onveranderlijke tekst weer te geven, de uitvoer van een ActionScript in tekstvorm weergeven. Zo'n script kan bijvoorbeeld nieuws van de Compulent-site, de weersvoorspelling van de Aporta-site en wisselkoersen van de Rambler-site halen, de huidige tijd toevoegen aan de opgehaalde gegevens en dit alles als tekst op het scherm weergeven. (Interessant idee trouwens...)

Dit is alleen voor de uitvoer van de tekst die het resultaat is van het script, en ze zijn van toepassing dynamische tekstblokken.(Gewone tekstvakken worden vaak genoemd statisch.) Misschien komt de behoefte aan dergelijke dynamische tekstblokken vaker voor dan invoervelden.

Een dynamisch tekstvak wordt op vrijwel dezelfde manier gemaakt als een invoerveld. Maak een gewoon tekstvak, selecteer het met de "pijl"-tool en zoek het in de linkerbovenhoek van het paneel Eigendommen kleine vervolgkeuzelijst (zie fig. 7.4). Je hoeft alleen maar een item uit deze lijst te selecteren. Dynamische tekst.

Het gemarkeerde dynamische tekstblok is vergelijkbaar met het invoerveld (zie Fig. 7.9), en het paneel Eigendommen ziet er ongeveer zo uit als in fig. 7.10. Daarom zullen we geen beschrijving geven van de bedieningselementen die erin zitten, maar ons beperken tot het wijzen op de bestaande verschillen.

Alle dezelfde variabelen worden gebruikt om tekst uit te voeren naar een dynamisch tekstblok. ActionScript plaatst de tekst die moet worden weergegeven in een dergelijke variabele en Flash Player voert de uitvoer uit. De naam van deze variabele wordt in hetzelfde invoerveld onder de lijst ingevoerd, waarmee we zojuist een normaal tekstblok in een dynamisch blok hebben veranderd.

Nu over de verschillen. Er is eigenlijk maar één verschil qua interface en bovendien zijn we er al mee bekend. Knop schakelaar:


De mogelijkheid om tekst te selecteren en te kopiëren die in een dynamisch tekstblok is geplaatst, is nu beschikbaar en we kunnen dit desgewenst uitschakelen.

Het verschil qua mogelijkheden is dat er een dynamisch tekstblok gemaakt kan worden scrollbaar. Een normaal dynamisch blok moet zo groot zijn dat het in alle inhoud past. Voor een schuifbaar blok is dit niet nodig: net als de Windows-bewerkingsgebieden kan het de tekst die het bevat "scrollen". Om het scrollen te regelen, moeten we de juiste ActionScript-scripts schrijven - het scrollende tekstblok bevat geen schuifbalken.

Om een ​​dynamisch tekstvak schuifbaar te maken, moet u het eerst selecteren. Daarna moet u het schakelitem inschakelen Scrollbaar menu Tekst of het gelijknamige item in het contextmenu van het tekstblok. Als het tekstvak momenteel geopend is, kunt u dubbelklikken op de vierkante greep in de rechterbenedenhoek van de selectierechthoek terwijl u ingedrukt houdt ... Het voltooide scrollende tekstblok wordt getoond in Fig. 7.12; Merk op dat de markering waarop we hebben geklikt de vorm van een zwart vierkant heeft aangenomen.


Om gegevens van de webserver beschikbaar te maken voor SWF-bestanden van andere domeinen, kunt u een beleidsbestand op de server maken. Beleidsbestand is een XML-bestand dat op een speciale locatie op de server wordt geplaatst.

Beleidsbestanden definiëren toegang tot een aantal bronnen, waaronder de volgende:

    het verkrijgen van gegevens van rasterafbeeldingen, audio en video;

    het laden van XML- en tekstbestanden;

    SWF-bestanden importeren uit andere sandboxen in het beveiligingsdomein van het uploadbestand

    toegang tot socket- en XML-socketverbindingen.

ActionScript-objecten maken twee typen serververbindingen: op documenten gebaseerde serververbindingen en socketverbindingen. ActionScript-objecten zoals Loader, Sound, URLLoader en URLStream maken op documenten gebaseerde serververbindingen en downloaden een bestand van een URL. Socket- en XMLSocket-objecten maken socketverbindingen die streaminggegevens verwerken, geen geladen documenten.

Omdat Flash Player twee typen serververbindingen ondersteunt, zijn er ook twee typen beleidsbestanden: URL-beleidsbestanden en socketbeleidsbestanden.

    Op documenten gebaseerde verbindingen vereisen: URL-beleidsbestanden... De server gebruikt deze bestanden om aan te geven dat de gegevens en documenten beschikbaar zijn voor SWF-bestanden die worden gehost op specifieke domeinen of domeinen.

    Socketverbindingen vereisen: socketbeleidsbestanden die een directe netwerkverbinding bieden met TCP-sockets op een lager niveau met behulp van de klassen Socket en XMLSocket.

Beleidsbestanden moeten worden doorgegeven aan Flash Player met hetzelfde protocol dat de verbinding gaat gebruiken. Wanneer bijvoorbeeld een beleidsbestand op een HTTP-server wordt geplaatst, kunnen SWF-bestanden van andere domeinen gegevens downloaden van die server met behulp van het HTTP-protocol. Als u echter geen socketbeleidsbestand aan dezelfde server toevoegt, kunnen SWF-bestanden van andere domeinen geen verbinding maken met de server via sockets. Met andere woorden, de manier waarop u het beleidsbestand ophaalt, moet overeenkomen met de manier waarop u verbinding maakt.

De rest van dit gedeelte beschrijft kort het gebruik van beleidsbestanden en syntaxis voor SWF-bestanden die zijn gepubliceerd voor Flash Player 10. (Voor eerdere versies van Flash Player worden beleidsbestanden iets anders geïmplementeerd omdat de beveiliging van Flash is verbeterd naarmate er nieuwe versies zijn uitgebracht . Player.) Zie voor meer informatie over beleidsbestanden het gedeelte 'Wijzigingen in beleidsbestanden in Flash Player 9' van het Flash Player Developer Center op www.adobe.com/go/devnet_security_nl.

Code die in de AIR-toepassingssandbox wordt uitgevoerd, heeft geen beleidsbestand nodig om toegang te krijgen tot gegevens via een URL of socket. Voor code in een AIR-toepassing die buiten de toepassingssandbox wordt uitgevoerd, is een beleidsbestand vereist.

Het SWF-bestand kan het beleidsbestand testen onder een andere naam of op een andere locatie. Roep hiervoor de methode Security.loadPolicyFile () aan. Als het hoofdbeleidsbestand echter niet aangeeft dat deze locatie een beleidsbestand mag bevatten, heeft het aanroepen van de methode loadPolicyFile () geen effect, zelfs niet als het beleidsbestand aanwezig is. De methode loadPolicyFile () moet worden aangeroepen voordat u netwerkbewerkingen uitvoert waarvoor een beleidsbestand is vereist. Flash Player plaatst automatisch netwerkverbindingsverzoeken in de wachtrij na overeenkomende verzoeken voor een beleidsbestand. De methode Security.loadPolicyFile () kan bijvoorbeeld worden aangeroepen net voor het begin van een netwerkbewerking.

Tijdens het valideren van het hoofdbeleidsbestand wacht Flash Player drie seconden op een serverreactie. Als er geen reactie wordt ontvangen, concludeert Flash Player dat het hoofdbeleidsbestand niet bestaat. Er is echter geen standaard time-out voor het aanroepen van de methode loadPolicyFile (); Flash Player gaat ervan uit dat het bestand dat wordt aangeroepen bestaat en wacht voor onbepaalde tijd om te downloaden. Om ervoor te zorgen dat het hoofdbeleidsbestand wordt geladen, moet daarom de methode loadPolicyFile () worden aangeroepen.

Hoewel de methode Security.loadPolicyFile () heet, wordt het beleidsbestand pas geladen nadat een netwerkverzoek is verzonden, waarvoor een beleidsbestand nodig is. Door de methode loadPolicyFile () aan te roepen, vertelt u Flash Player eenvoudig waar het beleidsbestand moet worden gezocht wanneer het dit nodig heeft.

U kunt geen melding krijgen dat een verzoek om een ​​beleidsbestand is verzonden of voltooid, het is gewoon niet nodig. Flash Player valideert asynchroon beleidsbestanden en wacht automatisch totdat een verbinding tot stand is gebracht totdat de validatie is geslaagd.

De volgende secties bevatten informatie die alleen van toepassing is op URL-beleidsbestanden. Zie de sectie "Verbinding maken met sockets" voor meer informatie over socketbeleidsbestanden.

Reikwijdte van het URL-beleidsbestand

Het URL-beleidsbestand is alleen van toepassing op de map waaruit het is geladen en op de onderliggende mappen. Het beleidsbestand in de hoofdmap is van toepassing op de hele server. Een beleidsbestand dat vanuit een submap wordt geladen, is alleen van toepassing op die map en zijn submappen.

Het beleidsbestand definieert alleen toegang tot de server waarop het zich bevindt. Het beleidsbestand op https://www.adobe.com:8080/crossdomain.xml is bijvoorbeeld alleen van toepassing op oproepen om gegevens te downloaden van de www.adobe.com-server via HTTPS op poort 8080.

Machtigingen specificeren in een URL-beleidsbestand

Het beleidsbestand bevat één tag , waarin op zijn beurt een willekeurig aantal tags kan zijn beginnen bij het begin. Elke tag bevat een domeinkenmerk dat een exact IP-adres, een exacte domeinnaam of een wildcard-domein (elk domein) specificeert. Wildcard-domeinen kunnen op twee manieren worden opgegeven:

    één asterisk, die overeenkomt met alle domeinen en alle IP-adressen;

    een asterisk met een achtervoegsel, dat alleen overeenkomt met domeinen met het opgegeven achtervoegsel.

Het achtervoegsel moet beginnen met een punt. Achtervoegsel-jokertekendomeinen kunnen echter overeenkomen met domeinen die alleen achtervoegsels bevatten zonder een voorlooppunt. "xyz.com" wordt bijvoorbeeld beschouwd als onderdeel van "* .xyz.com". Jokertekens kunnen niet worden gebruikt in IP-adressen.

Het volgende voorbeeld toont een URL-beleidsbestand dat toegang geeft tot SWF-bestanden van de * .example.com-, www.friendOfExample.com- en 192.0.34.166-domeinen.

Als een IP-adres is opgegeven, hebben alleen SWF-bestanden die zijn gedownload van dat IP-adres met behulp van de IP-syntaxis (bijvoorbeeld http://65.57.83.12/flashmovie.swf) toegang. De syntaxis van de domeinnaam wordt niet gebruikt bij het delen van SWF-bestanden. Flash Player voert geen DNS-resolutie uit.

U kunt vanuit elk domein toegang verlenen tot documenten, zoals in het volgende voorbeeld.

Elke tag heeft ook een extra beveiligd kenmerk dat standaard is ingesteld op waar. Als het beleidsbestand zich op een HTTPS-server bevindt en u wilt dat SWF-bestanden van een niet-HTTPS-server gegevens van een HTTPS-server laden, kunt u dit kenmerk instellen op false.

Als u het kenmerk secure op false instelt, kan dit de beveiliging van HTTPS verzwakken. Met name valse opent beveiligde inhoud voor ongeautoriseerde toegang of spoofing. Adobe raadt u ten zeerste aan om het beveiligde kenmerk niet in te stellen op false.

Als de uploadgegevens zich op een HTTPS-server bevinden en de SWF die deze laadt op een HTTP-server, raadt Adobe u aan het uploadende SWF-bestand naar een HTTPS-server te verplaatsen. Hierdoor worden alle kopieën van vertrouwelijke gegevens beschermd door HTTPS. Als u er echter voor kiest om het ladende SWF-bestand op de HTTP-server te laten staan, voegt u het kenmerk secure = "false" toe aan de tag zoals hieronder weergegeven.

U kunt ook de tag allow-http-request-headers-from gebruiken om toegang te verlenen. Dit element verleent een client die inhoud van een ander domein host, toestemming om door de gebruiker gedefinieerde headers naar uw domein te verzenden. Label verleent andere domeinen toegang om gegevens van uw domein op te halen, en de tag allow-http-request-headers-from geeft andere domeinen toestemming om gegevens als headers naar uw domein te verzenden. In het volgende voorbeeld kunnen alle domeinen een SOAPAction-header naar het huidige domein sturen.

Als de tag allow-http-request-headers-from wordt toegevoegd aan het hoofdbeleidsbestand, is deze van toepassing op alle mappen op de host. Anders is het alleen van toepassing op de directory en subdirectories die worden gedekt door het beleidsbestand dat de tag bevat.

Het downloaden van gegevens van de server of het verbinden met een socket gebeurt asynchroon. Flash Player wacht gewoon tot het beleidsbestand is geladen voordat de hoofdbewerking wordt gestart. De extractie van pixelgegevens uit afbeeldingen of de acquisitie van audiomonsters worden echter synchroon uitgevoerd. Het downloaden van het beleidsbestand moet zijn voltooid voordat gegevens kunnen worden opgehaald. Wanneer u media laadt, moet u een beleidsbestand ophalen.

    Als u de methode Loader.load () gebruikt, stelt u de eigenschap checkPolicyFile in van de contextparameter, een object LoaderContext.

    Als een afbeelding is ingesloten in een tekstvak met behulp van de tag , stel het kenmerk checkPolicyFile van de tag in waar, zoals hieronder weergegeven.

    Als u de methode Sound.load () gebruikt, stelt u de eigenschap checkPolicyFile in van de parameter context, een object SoundLoaderContext.

    Als u NetStream gebruikt, stelt u de eigenschap checkPolicyFile van het NetStream-object in.

Wanneer een van deze opties is opgegeven, controleert Flash Player eerst de beleidsbestanden die al voor dit domein zijn geladen. Vervolgens zoekt het naar het serverbeleidsbestand op de standaardlocatie en controleert het de tags en de aanwezigheid van metapolitiek. Ten slotte worden alle openstaande aanroepen van de methode Security.loadPolicyFile () beoordeeld om hun reikwijdte te beoordelen.

Het laatste artikel ging over animatie. We hebben animatie gemaakt op basis van bewegings-tweening, vorm-tweening en eenvoudigweg samengestelde beweging uit afzonderlijke frames. Ik denk dat het tijd is om over te gaan tot een complexer onderwerp, een blik op de tool die de basis vormt voor de meeste Flash-films van hoge kwaliteit.

De tool is ActionScript, een gebeurtenisgestuurde taal die in Flash is ingebouwd. De nieuwste versie van ActionScript (die aanwezig is in Flash 5) verschilt aanzienlijk van de ActionScript die in Flash 4 zat. Als het in de vorige versie een beperkte reeks opdrachten was, die alleen basisacties toestond en ingevoerd werd met een niet erg handige interface, is het nieuwe ActionScript een krachtige taal, met een grotere reeks opdrachten, ondersteuning voor klassen, overerving (! ), En een veel gebruiksvriendelijkere interface.

ActionScript maakt uw pagina's interactief. U kunt reageren op gebeurtenissen met de muis of vanaf het toetsenbord, u kunt alle acties uitvoeren bij het afspelen van een bepaald frame.

Om ActionScript volledig onder de knie te krijgen is het wenselijk om al programmeerervaring te hebben (bij voorkeur in C++, JavaScript, etc.). Een van de geweldige dingen van Flash is echter dat je geen Flash-professional hoeft te zijn, of ActionScript helemaal niet kent, om er kwaliteitscode in te schrijven. U kunt alle functies van de taal gebruiken die u nodig acht voor uw werk.

Aangezien dit artikel over de basis van de taal gaat, behandelen we:

  • In het deelvenster Acties vindt vrijwel alle communicatie met ActionScript plaats.
  • Knoppen - hoe u ze kunt laten werken zoals we ze nodig hebben.
  • Paden - hoe krijgt u toegang tot de gewenste objecten?
  • Basishandelingen met Flash-cartoons (filmclips) - we zullen het proces van het afspelen van de film naar eigen goeddunken regelen.
  • Foutopsporing in ActionScript - Uitvoer- en foutopsporingsvensters.

Het doel van dit artikel is om u een idee te geven van ActionScript, om te laten zien dat deze taal zowel kan dienen om zeer indrukwekkende programma's te maken als om elementaire acties uit te voeren die uw pagina veel aantrekkelijker zullen maken.

voorwaarden

Voordat we ingaan op de daadwerkelijke stappen, zijn een paar ActionScript-termen:

  • Acties zijn instructies die Flash-animatie vertellen wat ze moeten doen. Van hen kwam de naam van de taal - ActionScript (letterlijk - actiescript). Laten we het erover eens zijn dat we in het kader van dit artikel de term "instructie" zullen gebruiken om niet te worden verward met de daadwerkelijke acties die we zullen uitvoeren.
  • Evenementen- dit zijn de acties die plaatsvinden wanneer de cartoon wordt afgespeeld. Gebeurtenissen kunnen bijvoorbeeld optreden wanneer het laden van een frame eindigt, wanneer we een bepaald frame bereiken, wanneer de gebruiker een toets op het toetsenbord indrukt of de muiscursor over ons object gaat.
  • Uitdrukkingen is elk onderdeel van een instructie dat een waarde genereert. De volgende voorbeelden zijn uitdrukkingen: 2 + 2, 2 * 2, a + b, 2 * pi * r, (15 + k) * willekeurig (10).
  • Functies is een codeblok dat opnieuw kan worden gebruikt. U kunt waarden doorgeven aan een functie en er een resultaat van ontvangen. Bijvoorbeeld, nummer = get_color (15, 24)... 15 en 24 zijn argumenten (of parameters) voor get_color, waarvan de retourwaarde naar het variabelenummer wordt geschreven.
  • Klassen zijn de soorten objecten. De klasse van de boom is bijvoorbeeld plant. Flash heeft een aantal vooraf gedefinieerde klassen (zeer vergelijkbaar met JavaScript-klassen). U kunt uw eigen klassen maken of bestaande wijzigen.
  • instanties zijn letterlijk voorbeelden van bepaalde klassen. Een plantenspecimen kan bijvoorbeeld een boom, struik of bloem zijn. Een instantie is al een concreet reëel object. Als een klasse een definitie is van een object (instantie), dan is een instantie al een concrete uitvoering, het is een klasse in actie. Elke instantie kan een naam krijgen zodat deze er doorheen kan verwijzen naar functies of objectvariabelen.
  • Handlers zijn speciale instructies die gebeurtenissen afhandelen. Bijvoorbeeld opClipEvent- handler van acties die zijn gekoppeld aan een specifiek symbool (zie).
  • Operators zijn elementen van een taal die waarden berekenen op basis van een of meer argumenten. De opteloperator (+) retourneert bijvoorbeeld de som van de twee waarden links en rechts.
  • Variabelen zijn id's die waarden kunnen opslaan. Bijvoorbeeld a = 5; of naam = "Michael".

We zullen deze termen tijdens onze bespreking van ActionScript gebruiken. Dus…

Actiepaneel

De actiebalk wordt gebruikt om ActionScript-programma's weer te geven en in te voeren (Fig. 1). Er zijn twee manieren om met het paneel te werken: normaal (voor "dummies") en expert. In de expertmodus is de opdrachtenlijst een eenvoudig tekstinvoerveld. In de normale modus kunnen we opdrachten niet rechtstreeks bewerken. Hiervoor wordt het parameterpaneel gebruikt.

U kunt een instructie toevoegen door op de knop "+" te klikken (zie Fig. 1) of door de bijbehorende instructie te selecteren in de lijst met taalelementen. Daarnaast zijn er toetsreeksen voor alle acties in Flash die veel sneller kunnen worden gebruikt. Ze worden weergegeven aan de rechterkant van elke actie in het menu + knop. Om bijvoorbeeld een functie toe te voegen stop (), moet u op Esc + st drukken (opeenvolgend: Esc, dan "s", dan "t").

U kunt een instructie verwijderen door deze te selecteren en op de "-"-knop te drukken (of alleen op de Delete-toets).

Ik raad je aan om de expertmodus niet meteen te gebruiken als je geen programmeerervaring hebt in Java-achtige talen (C++, Java, JavaScript). De normale modus heeft een groot voordeel, waardoor het onmisbaar is voor beginners - het is veel minder waarschijnlijk dat fouten worden gemaakt met de syntaxis van de taal. Dit zal beginners helpen om de fijne kneepjes van ActionScript sneller te begrijpen.


Rijst. 1 - Actiebalk

De actiebalk toont de acties van het object of het momenteel geselecteerde frame.

Toetsen

Het eerste dat u wilt als u Flash-interactiviteit begint te leren, is om iets te doen dat zou reageren op gebruikersacties, uw creatie te "animeren" en feedback toe te voegen. De eenvoudigste manier om dit te doen is met knoppen. Daarom zullen we met hen beginnen.

Zoals u weet, is er in Flash een speciaal type symbool voor het maken van knoppen - Knop (zie). We gaan ervan uit dat u al hebt geleerd hoe u knoppen kunt maken, nu zullen we leren hoe u klikken op deze knoppen kunt bijhouden.

Knoppen in Macromedia Flash hebben een uitgebreide lijst met gebeurtenissen waarop we kunnen reageren:

  • druk op- de muisknop wordt ingedrukt wanneer de cursor zich binnen de knop bevindt;
  • uitgave- de muisknop wordt losgelaten wanneer de cursor zich binnen de knop bevindt;
  • vrijgevenBuiten- de muisknop wordt losgelaten wanneer de cursor zich buiten de grenzen van de knop bevindt;
  • rol om- de muiscursor gaat naar de knop;
  • uitrollen- de cursor gaat voorbij de knop;
  • overdragen- de cursor komt binnen de grenzen van de knop, terwijl de knop werd ingedrukt en de muisknop werd ingedrukt;
  • rekken- de cursor gaat voorbij de knop, terwijl de knop werd ingedrukt en de muisknop werd ingedrukt;
  • toets indrukken("toets") - de "toets" is ingedrukt. De lijst met sleutels kan worden bekeken in de Flash Help (Sleutelobject), of u kunt het optiepaneel gebruiken om de gewenste sleutel in te voeren.

Helaas "verstaat" Flash alleen de linkermuisknop. De rechter wordt gebruikt om het contextmenu op te roepen (klik met de rechtermuisknop op een Flash-cartoon). Er zijn geen manieren om de middelste toets of het "muiswiel" in Flash te vangen, ik denk dat ze nog niet bestaan.

Deze gebeurtenissen worden onderschept met behulp van de richtlijn Aan ()... De syntaxis is als volgt:

Op (event) (... // Onze acties)

Hieronder kun je proberen zelf een aantal events te triggeren:

Een veelgebruikt voorbeeld is het volgen van een link bij het klikken op een knop:

Aan (release) (getURL ("http://rubs.boom.ru");)

Om dit scenario te testen, selecteert u uw knop, drukt u op Ctrl + Alt + A en voert u het programma in.

Zo onderschep je eenvoudig alle gebeurtenissen die bij de button horen. Welnu, hoe u ze moet gebruiken, is geheel een kwestie van uw verbeelding.

Basishandelingen met filmclips

Veel van de creativiteit in Flash zit in karaktermanipulatie. Vrijwel alle basistechnieken, alle trucs en effecten zijn onuitvoerbaar zonder deze acties.

Met ActionScript-scripting kunt u bijna elke actie op symbolen uitvoeren. U hoeft alleen te onthouden dat deze acties alleen kunnen worden uitgevoerd als reactie op een gebruikersactie of wanneer er een frame op de tijdlijn verschijnt.

Dus wat hebben we? Ik zal alleen de belangrijkste (naar mijn mening) tools vermelden. De rest is te vinden in de lijst met taalelementen of in de help.

Functies van filmclips die kunnen worden opgeroepen:

  • Speel () - start of hervat het afspelen van de clip;
  • stop () - stopt met het afspelen van een clip;
  • ga naar en speel () - gaat naar een bepaald frame (scène) en gaat verder met afspelen;
  • ga naarAndStop () - gaat naar een bepaald frame (scène) en stopt het afspelen.

Eigenschappen (parameters) van clips die kunnen worden gelezen / gewijzigd:

  • _x, _y - clipcoördinaten (in pixels);
  • _xscale, _yscale - clipschaal (in procent), respectievelijk horizontaal en verticaal;
  • _breedte hoogte - breedte en hoogte van de clip (in pixels);
  • _rotatie - clip rotatiehoek (in graden);
  • _alpha - cliptransparantie (in procenten);
  • _zichtbaar - zichtbaarheid.

Dit is niet alles wat je kunt doen met clips. Gebruik andere parameters, experimenteer, creëer!

namen

Om naar clips te kunnen verwijzen, moeten we het concept van een objectnaam (instantienaam) en een pad naar een object (doelpad) begrijpen. Laten we het erover eens zijn dat de filmclip en het object hetzelfde zijn voor ons.

De objectnaam is de naam van een specifieke instantie van een symbool. Laten we zeggen dat we een symbool kunnen hebben - een typemachine, en exemplaren van dit symbool worden "Typewriter1", "Typewriter2", "Pickup", "Zaporozhets" genoemd ...

Om een ​​object een naam te geven, selecteert u het object en voert u in het paneel Exemplaar (Venster-> Panelen-> Exemplaar, Ctrl + I) in de kolom Naam de naam van het object in (Fig. 2). Namen mogen alleen letters, cijfers en het onderstrepingsteken ("_") bevatten en de naam mag niet met een cijfer beginnen.


Rijst. 2 - Instantiepaneel

Paden

Een objectpad is een hiërarchische registratie van de naam van het object. Ik zal proberen uit te leggen wat het is.

U weet dat u in Flash objecten in elkaar kunt "nesten", en zo een hiërarchie vormt. Dit nesten biedt dus niet alleen gemak bij het hanteren van objecten, het beperkt ook de zichtbaarheid van objectnamen. Het zicht is beperkt tot zijn eigen niveau. Een object kan direct (op naam) alleen verwijzen naar objecten die erin zijn opgenomen en die een niveau lager in de hiërarchie staan.

Om naar een object van een ander niveau te verwijzen, moet je het pad ernaar toe kennen. Bovendien kan het pad zowel absoluut (vanaf het hoogste niveau van de hiërarchie) als relatief (vanaf het huidige niveau) worden gespecificeerd.

Het pad bevat objecten waardoor u door de hiërarchieboom moet "lopen" om bij het object te komen dat we nodig hebben, weergegeven met een punt. Daarnaast zijn er verschillende pointers (je kunt ze "virtuele objecten" noemen) die vaak erg handig zijn:

dit - een verwijzing naar "zichzelf" (dat wil zeggen, naar het huidige object). Het is soms nodig, bijvoorbeeld wanneer u een aanwijzer moet doorgeven aan een object van waaruit deze functie naar een functie wordt aangeroepen.

_ouder - een verwijzing naar de "ouder". Geeft een object aan dat een niveau hoger in de hiërarchie staat.

_wortel - "wortel". Dit is het begin van de hiërarchie. U kunt er niet zonder wanneer u een absoluut pad opgeeft.

Het pad ziet er als volgt uit:

blad.spelen ();- bij het subobject blad(blad) functie wordt aangeroepen Speel ();

_ouder.boom.blad.stop ();- er wordt aangenomen dat er een object op één niveau is boom, die een object heeft blad, van waaruit de functie wordt aangeroepen stop ();

_root.banner._visible = onwaar;- maak een clip banier op niveau 1 is onzichtbaar.



Rijst. 3 - Hiërarchie van clips

Laten we ter illustratie een hiërarchie van 5 objecten nemen (Fig. 3). Objecten 1-4 bevinden zich op de 1e laag, object 5 op de 2e laag. Object 2 is genest in object 1 en object 3 is genest in object 2. De objecten in de figuur zijn visueel in elkaar genest, maar dit betekent geenszins dat dit "in het echt" het geval zou moeten zijn. Voor de duidelijkheid zijn ze hier gegroepeerd. Aangezien de naam van een object niet met een cijfer kan beginnen, laat u de objecten heten obj1-obj5.

Laten we nu naar de paden gaan. Laten we eerst eens kijken welke objecten bij naam naar elkaar kunnen verwijzen. obj1 kan verwijzen naar obj2, een obj2- Tot obj3 maar op het zelfde moment obj1 kan me niet wenden tot obj3 direct, omdat dat staat er niet in obj1 en in obj2.

Laten we zeggen dat het eerste object object 3 nodig heeft om opnieuw te beginnen vanaf het eerste frame. Hier is hoe het is gedaan:

Obj2.obj3.gotoAndPlay (1);

Om ervoor te zorgen dat het 4e object het 1e object (let op met alle subobjecten!) Doorschijnend maakt, moet het het volgende in zijn script schrijven:

Ouder.obj1._alpha = 50;

Root.obj1._alpha = 50;

Omdat obj4 we hebben het op het eerste niveau van de hiërarchie, dan voor hem _wortel en _ouder- dezelfde.

Nu zullen we voor object 3 een script schrijven dat object 5 onzichtbaar maakt wanneer de muisknop wordt ingedrukt. In het script voor object 3 schrijven we:

OnClipEvent (mouseDown) (_root.obj5._visible = false;)

In dit fragment hebben we een absoluut pad gebruikt. Als we relatieve zouden gebruiken, zou het er als volgt uitzien:

Parent._parent._parent.obj5._visible = onwaar;

Ik hoop dat ik het punt met de paden heb opgehelderd.

Bovenstaande voorbeelden hebben niet alleen laten zien hoe paden eruitzien, maar ook hoe functies worden aangeroepen en eigenschapswaarden worden toegekend.