ActionScript - Почему нет свойства backgroundColor для рабочей области? - PullRequest
1 голос
/ 25 февраля 2011

Я могу установить цвет фона сцены и т. Д., Используя метаданные SWF-тега:

[SWF(width="1024", height="600", frameRate="60", backgroundColor="#000000")]

или, если я использую Flash Professional, я могу просто установить эти свойства для документа в пользовательском интерфейсе.

В то время как класс Stage предлагает возможность задать frameRate и переопределить ширину и высоту через свойства в ActionScript, почему невозможно установить цвет фона сцены таким же образом?

Этап не имеет свойства (общедоступного или иного) для фона. Кто-нибудь может объяснить, почему это так? мне это кажется странным, но я полагаю, что есть веская причина, а не просто недосмотр.

1 Ответ

1 голос
/ 25 февраля 2011

Цвет фона, который вы можете установить с метаданными SWF, устанавливает цвет фона по умолчанию для контейнера, содержащего SWF.Если вы используете CSS (и т. Д.) Для манипулирования свойством background-color этого контейнера, оно изменится.Вы также можете установить wmode = transparent, чтобы показывать любой контент, отображаемый под SWF, вместо цвета фона.

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

graphics.beginFill(0xFF0000);
graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
graphics.endFill();
...