ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение XELAD »

Господа, ну что же вы самого простого не посоветуете, как совет от gpv123 ? ;)
Прочитал про include:
Включает содержимое заданного файла, как если бы команды в файле были частью вызывающего сценария. Директива include вызывается во время компиляции. Следовательно, при внесении изменений в файл необходимо его сохранить и повторно скомпилировать SWF-файлы, в которых он используется.
Спасибо, gpv123!
sanych_dv
Разработчик
Разработчик
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение sanych_dv »

А вы ставьте вопрос корректно. Я так понял, что вам надо подключать исполняемый код после компиляции.
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение XELAD »

Здравствуйте. Выше я уже задавал вопрос про разделение кода на несколько as. Ответом оказалась директива include, только никак не научусь ею пользоваться. Ситуация вся та же: из основного класса, который соотв-но находится в package, нужно из сотни функций вынести несколько в отдельный as.
Оригинал:

Код: Выделить всё

package{ import flash.display.MovieClip; public class MyActs extends MovieClip {  private function func1()  {}  private function func2() {} }}
Нужно вынести func2 из этого кода в другой as.

По-разному пробовал, уже и (Знаю, что классы не include):
 
MyActs.as^

Код: Выделить всё

package{ import flash.display.MovieClip; include "Part2.as"; public class MyActs extends MovieClip {  private function func1()  {} }}
Part2.as:

Код: Выделить всё

package{ import flash.display.MovieClip; public class MyActs extends MovieClip {  private function func2() {} }} 
Пакеты не могут быть вложенными, Private нельзя использовать вне пакетов, и ещё много новых для меня ошибок. Результат, который хочется примерно в этом коде и есть. Помогите советом, в яндексе особо не нашел. Спасибо!
gpv123
Сообщения: 346
Зарегистрирован: 29 янв 2012, 20:57

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение gpv123 »

XELAD, при компиляции include со своего места исчезает, а код из соответствующего файла вставляется на его место без изменений:

Код: Выделить всё

// MyActs.aspackage{  import flash.display.MovieClip;  public class MyActs extends MovieClip  {    private function func1() {}    include "Part2.as";  }}

Код: Выделить всё

// Part2.asprivate function func2() {}
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение XELAD »

gpv123
Сделал по вашему примеру, спасибо, всё работает. Только вот с Part2.as начинаются проблемы, все эти public нельзя использовать вне пакета, а private только в классах. В результате даже невозможно нажать кнопку автоформат, так как код полон ошибок... Создается впечатление, что разбиение одного as на несколько - это обмен шила на мыло.
gpv123
Сообщения: 346
Зарегистрирован: 29 янв 2012, 20:57

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение gpv123 »

XELAD писал(а):public нельзя использовать вне пакета, а private только в классах
Вообще-то и без include так делать нельзя.
Создается ощущение, что Вы не понимаете, что конкретно делает include.
include можно вставить в любом месте кода, абсолютно в любом, если, конечно, не нарушается базовый синтаксис. При этом никаких областей видимости не появляется. include просто вставляет на свое место то, что написано в файле. И все. Не больше, не меньше.
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение XELAD »

gpv123
Include я понимаю что делает, похожее есть и в php. Вы же в своем примере написали private function, и при проверке этого файла вывелась бы ошибка, что private нельзя использовать. Конечно, при компиляции всё это исчезает, но эти "ошибки" покоя не дают.
gpv123
Сообщения: 346
Зарегистрирован: 29 янв 2012, 20:57

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение gpv123 »

XELAD, этот файл не является классом, интерфейсом или чем-то еще. Там просто написано то, что Вы хотите вставить в другой файл. Его не нужно "проверять"
Аватара пользователя
grenium
Сообщения: 25
Зарегистрирован: 16 май 2010, 14:16

Re: ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)

Сообщение grenium »

Подскажите, как в adobe flash можно вставить уже готовый swf файл
Ответить