Как изменить фон документа Flash с помощью ActionScript 3.0? - PullRequest
4 голосов
/ 17 октября 2010

Позвольте мне вначале ответить на этот вопрос, сказав, что я в глубине души являюсь разработчиком .NET, просто помогая другу в проекте, над которым он работает.

Я искал в Интернете то, что, по моему мнению, должнодовольно простоВот что у меня есть:

  1. Стандартный документ Flash CS5 с одним слоем, называемым фоном.
  2. Документ связан с классом, называемым Game, который расширяет MovieClip.
  3. Я выполняю некоторую логику в классе 'Game' после вызова метода 'Initialize'.

Я хочу изменить цвет фона документа во время выполнения на что-то другое (например, другойцвет, градиент или изображение).Просто, правда?Возможно, нет.Я не могу понять это.Может ли какая-нибудь дружественная к .NET душа любезно объяснить, как это исправить?

Ответы [ 3 ]

3 голосов
/ 17 октября 2010

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

то, что вы измените, будет зависеть от встраиваемого кода, но параметр, который выЯ хочу изменить bgcolor.

в прототипе, JavaScript будет выглядеть примерно так:

$('yourFlashContainerId').down('[name="bgcolor"]').writeAttribute('value','#000000');

, чтобы нарисовать его во флэш-памяти, вы можете сделать что-то вроде этого:

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

Это нарисует квадрат с черным фоном (измените гекс в строке 2, чтобы изменить цвет), установите его размер в соответствии с размером сцены, установите x и y в 0, затем добавьте его внижняя часть стека отображения.

Любой из этих двух методов должен работать.

Редактировать: еще один способ:

Вы также можете установить параметр wmode в значение «прозрачный»,и измените содержащий цвет фона div.

, предполагая, что ваша флэш-вставка имеет следующее:

<param name="wmode" value="transparent">

prototype:

$('yourFlashContainerId').setStyle({'background-color':'#000'});

jQuery:

$('#yourFlashContainerId').css({'background-color':'#000'});

родной:

document.getElementById('yourFlashContainerId').style.background-color="#000";
1 голос
/ 10 января 2011

Вы можете создавать необходимые фоны во время разработки и, для удобства, размещать их на разных слоях. Преобразуйте каждый фон в мувиклип - каждый со своим именем экземпляра (bg1, bg2 и т. Д.).

В функции конструктора вы можете указать, какой фон виден, а какой невидим, установив их свойство .visible:

bg1.visible = true;
bg2.visible = false; etc.

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

0 голосов
/ 17 октября 2010

Цвет документа фактически устанавливается во встраиваемом HTML.Чтобы иметь динамический фоновый цвет, я бы предложил иметь фоновый мувиклип, в который вы рисуете цвет, когда это необходимо.Нарисуйте нарисуйте цвет, который вы можете использовать API рисования .

...