Использовать код для изменения цвета фона в AS3? - PullRequest
6 голосов
/ 09 ноября 2010

Можно ли изменить фон сцены с помощью actioncript?

Как мне это сделать?(Код пожалуйста.)

Ответы [ 4 ]

8 голосов
/ 10 ноября 2010

Цвет фона этапов можно изменить с помощью графического объекта.

Если у вас есть ссылка на этап:

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

Если это класс вашего документа:

graphics.beginFill( 0x00FF00 );
graphics.drawRect( 0, 0, stage.stageWidth, stage.stageHeight );
graphics.endFill();
1 голос
/ 11 ноября 2010

Я просто хотел добавить, что сцена является своего рода исключением из правила. поэтому, чтобы ответить на ваш вопрос напрямую, без решения, ответ - нет, вы не можете, потому что сама сцена по умолчанию пуста и на ней ничего нет. затем добавленный к ответу Алана, сцена - своего рода уродливая утка, некоторые свойства, которые она наследует, поскольку она наследует свои свойства от DisplayObjectContainer, не применяются, например, вы не можете установить маску для сцены или изменить ее x, y и так далее. так что вы не можете изменить фон, но решение Алана идеально подходит, вы динамически рисуете форму и помещаете ее на сцену, а затем даете ей любой цвет, какой хотите.

0 голосов
/ 11 ноября 2010

Вы также можете установить фон для встраивания браузера с помощью swfobject.

Вот дополнительная информация и пример кода: http://board.flashkit.com/board/showthread.php?t=814461

0 голосов
/ 09 ноября 2010

Редактировать : Похоже, мой оригинальный ответ не работает.

Вам нужно будет добавить спрайт на сцену и установить для него цвет.

Примерно так должно работать:

var bg:Sprite = new Sprite();
bg.graphics.beginFill(0xFF0000);
bg.graphics.drawRect(0,0,stage.stageWidth,stage.stageHeight);
bg.graphics.endFill();
bg.x = stage.stageWidth;
bg.y = stage.stageHeight;
stage.addChild(bg);

Оригинал :

Попробуйте установить красный:

stage.opaqueBackground = 0xFF0000;

Просто измените 0xFF0000 на нужный вам цвет.

...