Странное поведение нового плеера от Adobe 20.0.0.286

Привет!

Я словил крайне неприятную вещь — а именно мои игры в новом плеере ведут себя не так как раньше, подробнее здесь: перейти в тему на форуме

Скажу сразу, что TheRabbit уже уведомил Adobe о данном инциденте.

В этом посте я хочу рассказать о том, что мне удалось выяснить:)

Итак, я собрал небольшой пример, который демонстрирует отличия в поведении старого плеера и нового.


Исходники: скачать

Итак, у нас есть три ключевых кадра, прелоадер и MovieClip с назначенным классом — обработчиком.

В кадре с меткой «Metka1» текстовое поле «metka1» и клип Screen1
В кадре с меткой «Metka2» текстовое поле «metka2»
клип Screen1 имеет класс обработчик вот такой:
package gui
{
        import main;
        import flash.events.*;
        import flash.display.MovieClip;
        
        dynamic public class Screen1 extends MovieClip
        {
                public function Screen1() 
                {
                        main.m_main.addChild(this);
                }
        }
}

Т.е. предполагается что если мне захочется из кода создать этот клип он сам себя добавит в нужный мне слой.

После загрузки кнопка «play» выполняет код:
main.m_main.gotoAndStop("Metka2");


В кадре с данной меткой ничего нет, кроме надписи «metka2»

Однако.

Обычный плеер:


Новый плеер 20.0.0.286:


Таким образом получается, что новый плеер перед тем как перейти на метку «Metka2» каким-то образом побывал на метке «Metka1» и выполнил код клипа «Screen1».

Я бы не назвал такое поведение предсказуемым.

TheRabbit, и дело тут явно не в приведении типов:)

Спасибо за внимание! И проверьте ваши игры)
  • +9

Комментарии (2)

0
Попробуй удали пустые кадры между 1 кадром и Metka1 и пересобери
0
То же самое
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.