Лучшие практики для обработки файлов внешних функций в AS3 / CS5 - PullRequest
4 голосов
/ 15 марта 2011

Разработчик Flash недавно сказал мне, что я уважаю, что использование

include "functions_file.as";

не подходит для импорта списка функций в документ AS3, Flash CS5.

Мы говорим не об объектах и ​​пакетах, а просто о списке функций.

Так, как лучше всего это сделать?

Ответы [ 2 ]

2 голосов
/ 15 марта 2011

Ваши разные функции принадлежат отдельным файлам, как и ваши классы:

package foo.bar
{
  public function baz(fizz, buzz)
  {
    return fizz * buzz + 7;
  }
}

А затем используйте директиву import точно так же, как для класса:

import foo.bar.baz;

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

0 голосов
/ 15 марта 2011

Как правило, в 99,9% ситуаций я бы согласился.

Я собираюсь быть противоположником и сказать, что для этого есть хотя бы один действительный вариант использования, в котором вы можете указатьнабор поведений, происходящих в произвольном кадре во многих различных символах библиотеки, при этом эти символы не обязательно должны определять свой собственный класс.Я бы сказал, что предел этого будет что-то вроде:

import complete.as

// inside complete.as
this.dispatchEvent(new Event(Event.COMPLETE, true));
this.stop();

//  Note : dispatchEvent and stop are 
//  the only function calls I'd feel 
//  comfortable putting on a keyframe script.

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

...