
Странное поведение нового плеера от Adobe 20.0.0.286
Привет!
Я словил крайне неприятную вещь — а именно мои игры в новом плеере ведут себя не так как раньше, подробнее здесь: перейти в тему на форуме
Скажу сразу, что TheRabbit уже уведомил Adobe о данном инциденте.
В этом посте я хочу рассказать о том, что мне удалось выяснить:)
Итак, я собрал небольшой пример, который демонстрирует отличия в поведении старого плеера и нового.
Исходники: скачать
Итак, у нас есть три ключевых кадра, прелоадер и MovieClip с назначенным классом — обработчиком.

В кадре с меткой «Metka1» текстовое поле «metka1» и клип Screen1
В кадре с меткой «Metka2» текстовое поле «metka2»
клип Screen1 имеет класс обработчик вот такой:
Т.е. предполагается что если мне захочется из кода создать этот клип он сам себя добавит в нужный мне слой.
После загрузки кнопка «play» выполняет код:
В кадре с данной меткой ничего нет, кроме надписи «metka2»
Однако.
Обычный плеер:

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

Таким образом получается, что новый плеер перед тем как перейти на метку «Metka2» каким-то образом побывал на метке «Metka1» и выполнил код клипа «Screen1».
Я бы не назвал такое поведение предсказуемым.
TheRabbit, и дело тут явно не в приведении типов:)
Спасибо за внимание! И проверьте ваши игры)
Я словил крайне неприятную вещь — а именно мои игры в новом плеере ведут себя не так как раньше, подробнее здесь: перейти в тему на форуме
Скажу сразу, что 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
- Vogd
Комментарии (2)