ActionScript: Создание Многоразовая код


  Share  
|


Вы хотите выполнять ряд действий несколько раз без дублирования кода излишне всего фильма.

Создайте функцию, а затем слово (т.е. ссылаться), то по именам, когда нужно выполнять такие действия.

Существует более чем один способ создания (т.е., определения или объявлять) функции. Вот как создать имя функции:

  функция functionName () (/ / Заявления искать здесь.  ) Для вызова (т.е. выполнить) с именем функции, передать ему имя, например: 
  functionName (); 

Вот как создать функцию буквальное:

  functionName = функция () (/ / Заявления искать здесь.  ); 

Хотя не это требуется, это считается наилучшей практики включения запятой после закрытия фигурными фигурная скобка при определении функции буквальное.

Группировка заявления в функция позволяет определить функцию один раз, но исполнить его столько раз, сколько нужно. Это полезно, когда нужно выполнить аналогичные действия в разное время, не дублируя тот же код в разных местах. Сохранение кода в централизованных функций проще понять (потому что вы можете написать функцию раз и затем игнорировать детали при ее использовании) и легче поддерживать (так как Вы можете вносить изменения в одном месте, а не в разных местах).

Есть два общих пути определения функций ActionScript: как именем функции или функции Целые (a.k.a. анонимные функции). Каждый из этих путей объявлении функции собственного использования.

Названные функции декларации является наиболее распространенной выбор (в случае не определения функций, которые будут использоваться в качестве метода), и по крайней мере один преимущество над Целые функции: имя функции доступны в течение всего keyframe (или на () и onClipEvent () обработчик ), даже если они приходят после вызов функции.

Например, хотя writeMessage () функции не объявлен до тех пор, пока это ссылаться, функция по-прежнему доступен:

  / / Вызывать в writeMessage () функцию, которая объявляется в конце скрипта.  writeMessage (); 
  / / Объявление (определение) о writeMessage () функции в качестве имени функции.  функция writeMessage () (трассировки ( "Привет, друг.") ;) 
  / / Эта функция доступна до или после она была объявлена.  writeMessage (); 

В отличие от функции буквальный доступен только из строк кода, что придет после заявления:

  / / В ActionScript переводчик не сможет найти функцию с таким именем, / / и так ничего не происходит (он не молча).  writeMessage2 (); 
  / / Объявление (определение) о writeMessage2 () функции, как анонимные функции буквальном writeMessage2 = функция () (трассировки ( "Привет, друг.") ;) ; 
  / / Однако функция доступна из строк кода после того, как она была объявлена.  writeMessage2 (); 

Однако существует ряд причин для использования функции целых:

Вы можете присвоить функции буквальном к глобальной переменной с тем, что функции могут быть доступны из любой график.

Функция целых предлагаем удобный, компактный, и удобный способ для определения методов объектов.

Целые функции можно обращаться как другие переменные, в том, что они могут быть переданы в другие функции или их значения переданы.

Здесь мы назначаем функции буквальном как свойства объекта _global объекта:

  _ global.launchBookExamples = функция () (getURL ( "http://www.person13.com/ascb", "_blank");) ; \ 

Таким образом, из любой точки мира на любой график, вы можете выполнять функции, просто используя его имя. Например, можно приложить этот скрипт на кнопку:

  myButton.onRelease = функция () (launchBookExamples ();) ; 

Здесь мы определяем функцию, как метод фильм клип (где onEnterFrame () - это специальный, встроенный в метод клипы фильма, что вам нужно определить, прежде чем она сможет):

  myClip_mc.onEnterFrame = функция () (трассировки ( "Ура методы!") ;) ; 

Конечно, вы можете определить пользовательские методы, а просто поручив функцию буквальном новую собственность объекта:

  myClip_mc.myCustomMethod = функция () (трассировки ( "Ура методы!") ;) ; 

Стоит также отметить, что можно установить один метод равна другой метод. Этот метод часто используется для присвоить те же действия, чтобы фильм клип или кнопку для двух разных событий. Вы можете определить, анонимные функции и присвоить его одному из обработчик события методы, а затем просто присвоить один метод обработчик события к другому. Общим примером этого является, когда вы хотите определить те же действия, когда пользователь Пресс-релизы кнопки фильм или клип и когда они выпустят за:

  / / Определить один onRelease () метод для фильма вырезан.  myMovieClip.onRelease = функция () (трассировки ( "Ура методы!") ;) ; 
  / / Назначить же метод определения на onReleaseOutside (), а метод.  myMovieClip.onReleaseOutside = myMovieClip.onRelease; 

Функции также могут быть переданы в качестве данных. Вы можете удобно передавать функции буквальном к другой функции, что требует в качестве одного из своих аргументов, такие как setInterval () или Array.sort () метод:

  / / Установить интервал, который называется функция, что увеличение переменной, я и отображает / / стоимость.  setInterval (функция () (трассировки (я + +);) , 1000); 

Функции те же самые рамки ограничений, переменных. Хронология функции доступны только в то время как график, на котором они определены существует. А график функции может быть именем функции или анонимной функции возложены на график переменной. Кроме того, график функции можно назвать лишь с помощью надлежащего целевого пути. При обращении к функции из той же хронологии, не нужно включать целевой путь, но если вы хотите получить доступ к функции из другой график, нужно убедиться, что вы на правильном пути.

  / / Четко вызова функции, которые определяются основные сроки.  _ root.myFunction (); 

Если функция используется в том же сроки только, вам не нужно беспокоиться о сферу вопросов. Однако, если вы собираетесь использовать функцию во многих сроков, два решения, как занятых:

Определить функцию как глобальной функции. Если внести в функцию глобальной функции, вы можете называть ее по имени из любого графика в фильме, не беспокоясь о сфере применения:

  _ global.myFunction = функция () (трассировки ( "Глобальные функции - это интересно!") ;) ; 

Определить функцию как (статический) метод глобального класса. Все встроенные в глобальные классы по умолчанию, и если вы определили класс с глобальным конструктора, а затем даже пользовательский классы могут быть глобальными. Этот метод действительно Вариант первый, но с тем преимуществом, что классы предлагаем Вам способ организации вашей функции в потенциально существенным образом (например, встроенная в математике класс организует многих математических функций).

в этой статье идет речь добавил Габриэль Савимби

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions