Возможно ли совместное использование Actionscript 2 и Actionscript 3? - PullRequest
1 голос
/ 11 марта 2012

По сути, я нахожусь в такой ситуации, у меня есть файл AS2, который связывает и открывает файл AS3 с помощью команды loadMovieNum ("file.swf", 0), которая работает нормально.В открытом файле AS3 у меня есть кнопка, которая возвращает ссылку на файл AS2, используя класс загрузчика и удаляя дочерний элемент, чтобы загрузить исходный файл AS2 обратно на экран, что, похоже, работает нормально.

Однако единственноеПроблема, с которой я столкнулся, заключается в том, что некоторые функции в моем исходном файле AS2 при перезагрузке, похоже, не работают на 100% должным образом, как это было при первой загрузке, например, в некоторых из кнопок.

I 'я пытаюсь достичь чего-то здесь, что слишком сложно или даже невозможно сделать, и было бы лучше переписать весь мой проект в AS3?(Что-то, чего я не хочу делать сейчас из-за нехватки времени)

Большое спасибо,

1 Ответ

2 голосов
/ 11 марта 2012

В общем, смешивать ActionScript 2 и 3 нехорошо, особенно если AS2 является «родителем».Поскольку вы, кажется, делаете вызовы из AS2 в AS3 и обратно в AS2, я думаю, что он все-таки просто ломается.Так что да, решение было бы сделать хотя бы этот родительский скрипт в AS3.Попробуйте разделить ваш проект на большее, и, возможно, вам не придется переписывать все.

  • SWF-файлы, написанные в ActionScript 1.0 или 2.0, не могут загружать SWF-файлы, написанные в ActionScript 3.0.Это означает, что SWF-файлы, созданные в Flash 8 или Flex Builder 1.5 или более ранних версиях, не могут загружать SWF-файлы ActionScript 3.0.

    Единственным исключением из этого правила является то, что SWF-файл ActionScript 2.0 может заменить себя SWF-файлом ActionScript 3.0.файл, если SWF-файл ActionScript 2.0 ранее ничего не загружал ни на один из его уровней.SWF-файл ActionScript 2.0 может сделать это посредством вызова loadMovieNum(), передав значение 0 параметру level.

  • В общем случае SWF-файлы, написанные на ActionScript1.0 или 2.0 должны быть перенесены, если они должны работать вместе с SWF-файлами, написанными в ActionScript 3.0.Например, предположим, что вы создали медиаплеер, используя ActionScript 2.0.Медиаплеер загружает различный контент, который также был создан с использованием ActionScript 2.0.Вы не можете создавать новый контент в ActionScript 3.0 и загружать его в медиаплеер.Вы должны перенести видеопроигрыватель в ActionScript 3.0.

    Если, однако, вы создаете медиапроигрыватель в ActionScript 3.0, этот медиапроигрыватель может выполнять простую загрузку содержимого ActionScript 2.0.

источник

...