ActionScript: Verursachen Des Mehrfachverwendbaren Codes
Sie möchten eine Reihe Tätigkeiten zu den verschiedenen Zeiten ohne kopierenden Code während Ihres Films unnötigerweise durchführen. Verursachen Sie eine Funktion und benennen Sie (, rufen Sie) d.h., sie hervor dann namentlich, wann immer Sie jene Tätigkeiten durchführen müssen. Es gibt mehr als der One-way, zum (d.h., definieren oder erklären) einer Funktion zu verursachen. Ist hier, wie man eine genannte Funktion verursacht: das Funktion functionName () gehen {// Aussagen hier}, zum
(, führen Sie) d.h., der durch genannten Funktion zu benennen,
beziehen sich auf sie namentlich, wie:
functionName(); Ist hier, wie man einen Funktion Druckfehler verursacht: functionName = Funktion () gehen {// Aussagen hier};
Obgleich nicht ausschließlich erfordert, gilt es als eine beste Praxis, einen Semicolon nach der schließenden lockigen Klammer einzuschließen, wenn man einen Funktion Druckfehler definiert. Die Gruppierung von von Aussagen in eine Funktion erlaubt Ihnen, die Funktion einmal zu definieren aber sie so viele Male durchzuführen, Sie möchten. Dieses ist nützlich, wenn Sie ähnliche Tätigkeiten zu den verschiedenen Zeiten durchführen müssen, ohne den gleichen Code zu kopieren in den mehrfachen Plätzen. Das Halten Ihres Codes zentralisierte in den Funktionen bildet es einfacher zu verstehen (weil Sie die Funktion einmal schreiben können und die Details dann zu ignorieren, wenn Sie sie verwenden) und einfacher beizubehalten (weil Sie Änderungen in einem Platz anstatt in den mehrfachen Plätzen vornehmen können). Es gibt zwei allgemeine Möglichkeiten des Definierens der ActionScript Funktionen: als genannte Funktionen oder Funktion Druckfehler (alias anonyme Funktionen). Jede dieser Weisen des Erklärens einer Funktion hat seinen eigenen Gebrauch. Die genannte Funktion Erklärung ist die allgemeinste Wahl (wenn nicht eine als definiert wird Methode verwendet zu werden Funktion) und hat mindestens einen Vorteil über Funktion Druckfehlern: genannte Funktionen sind innerhalb des gesamten keyframe (oder des on() oder onClipEvent() der Zufuhr) zugänglich, selbst wenn sie nach dem Anruf zur Funktion kommen. Z.B. obwohl die writeMessage() Funktion nicht erklärt wird, bis, nachdem sie hervorgerufen ist, ist die Funktion noch vorhanden: //rufen Sie die writeMessage() Funktion hervor, die später im Index writeMessage(erklärt wird); //erklären Sie (definieren Sie), die writeMessage()
Funktion während ein genanntes Funktion Funktion writeMessage ()
{trace("Hello, Freund."); }
//die Funktion ist vorhanden, vor oder nach es erklärtes writeMessage(gewesen ist); Demgegenüber ist ein Funktion Druckfehler nur von den Linien des Codes zugänglich, die nach der Erklärung kommen: //der ActionScript InterpretSEIEN Sie nicht in der Lage, eine Funktion mit diesem Namen,// und zu finden, also geschieht nichts (es fällt still aus). writeMessage2(); //erklären Sie (definieren Sie), die writeMessage2()
Funktion während eine anonyme wörtliche Funktion writeMessage2 =
Funktion () {trace("Hello, Freund."); };
//jedoch, die Funktion ist von den Linien des Codes vorhanden, nachdem es erklärtes writeMessage2(gewesen ist); Jedoch gibt es einige Gründe, Funktion Druckfehler zu verwenden: Sie können einen Funktion Druckfehler einer globalen Variable zuweisen, damit die Funktion von jedem möglichem timeline erreicht werden kann. Funktion Druckfehler bieten eine bequeme, kompakte und intuitive Weise an, Methoden für Gegenstände zu definieren. Funktion Druckfehler können wie andere Variablen behandelt werden, dadurch, daß sie zu anderen Funktionen geführt werden oder ihre Werte zurückübertragen lassen können. Hier weisen wir einen Funktion Druckfehler als Eigenschaft des _ globalen Gegenstandes zu: _ global.launchBookExamples = Funktion ()
{getURL("http://www.person13.com/ascb", "_ freier Raum"); }; \
Folglich von überall an jedem möglichem timeline, können Sie die Funktion durchführen, indem Sie einfach seinen Namen verwenden. Z.B. konnten Sie diesen Index zu einer Taste anbringen: myButton.onRelease = Funktion () {launchBookExamples();
};
Hier definieren wir die Funktion, da eine Methode eines Filmclips (wo onEnterFrame() eine spezielle, eingebaute Methode für Filmclips ist, die Sie definieren müssen, bevor sie verwendet werden kann): myClip_mc.onEnterFrame = Funktion () {trace("Hooray für
Methoden!"); };
Selbstverständlich können Sie kundenspezifische Methoden außerdem definieren, indem Sie einfach den Funktion Druckfehler einer neuen Eigenschaft des Gegenstandes zuweisen: myClip_mc.myCustomMethod = Funktion () {trace("Hooray für
Methoden!"); };
Es ist auch wert die Anmerkung, daß Sie eine Methode gleich einstellen können einer anderen Methode. Diese Technik wird häufig verwendet, um die gleichen Tätigkeiten einem Filmclip oder -taste zuzuweisen für zwei unterschiedliche Fälle. Sie können eine anonyme Funktion definieren und sie bis eine der Fallzufuhrmethoden zuweisen und dann weisen einfach eine Fallzufuhrmethode der anderen zu. Auf, ein allgemeines Beispiel von diesem ist, wann Sie definieren möchten die gleichen Klagen wenn ein Benutzer eine Taste oder einen Filmclip freigibt und wenn sie Außenseite freigeben: //definieren Sie eine onRelease() Methode für einen
Filmclip myMovieClip.onRelease = die Funktion () {trace("Hooray für
Methoden!"); };
//weisen Sie die gleiche Methode Definition der onReleaseOutside() Methode als gut myMovieClip.onReleaseOutside = myMovieClip.onRelease zu; Funktionen können als Daten auch geführt werden. Sie können einen Funktion Druckfehler zu einer anderen Funktion, die eine Funktion als eins seiner Argumente, wie setInterval(erfordert) oder zur Array.sort() Methode bequem führen: //Satz ein Abstand, der eine Funktion benennt, die
Stufensprünge eine Variable, ein i und Anzeigen// das Wert
setInterval(function () {trace(++i);}, 1000);
Funktionen sind abhängig von den gleichen Bereichbeschränkungen wie Variablen. Timeline Funktionen sind zugänglich, nur während das timeline, auf dem sie definiert werden, besteht. Eine timeline Funktion kann eine genannte Funktion oder eine anonyme Funktion sein, die einer timeline Variable zugewiesen wird. Zusätzlich können timeline Funktionen benannt werden, nur indem man den korrekten Zielweg verwendet. Wenn Sie die Funktion vom gleichen timeline zugänglich machen, brauchen Sie nicht, den Zielweg mit einzuschließen, aber, wenn Sie die Funktion von einem anderen timeline zugänglich machen möchten, müssen Sie sicherstellen Sie, den korrekten Weg zur Verfügung zu stellen. //rufen ausdrücklich eine Funktion hervor, die auf dem Haupttimeline. _ root.myFunction(definiert wird); Wenn Ihre Funktion innerhalb nur des gleichen timeline verwendet wird, Sie brauchen nicht, sich um Bereichausgaben zu sorgen. Jedoch wenn Sie beabsichtigen, die Funktion während vieler timelines zu verwenden, werden zwei Lösungen im Allgemeinen eingesetzt: Definieren Sie die Funktion als globale Funktion. Wenn Sie eine Funktion eine globale Funktion bilden, können Sie sie von jedem möglichem timeline im Film namentlich benennen, ohne zu müssen, um Bereich sich zu sorgen: _ global.myFunction = Funktion () {trace("Global
Funktionen sind Spaß!"); };
Definieren Sie die Funktion als a (statische) Methode einer globalen Kategorie. Alle eingebauten Kategorien sind durch Rückstellung und wenn Sie eine Kategorie mit einem globalen Erbauer definieren, dann sogar Ihre kundenspezifischen Kategorien können global sein global. Diese Technik ist wirklich eine Veränderung auf der ersten, aber mit dem Vorteil, den Kategorien Ihnen einer Weise des Organisierens Ihrer Funktionen in einer möglicherweise sinnvollen Weise anbieten (zum Beispiel, organisiert die eingebaute Mathekategorie viele mathematische Funktionen). dieses ist ein Artikel, der von Gabriel Savimbi
hinzugefügt wird
|
|||
|