让我先说一下这个问题,我说我是一名.NET开发人员,只是帮助一个朋友完成他正在进行的项目。
我一直在网上寻找一些我觉得应该很简单的东西。这就是我所拥有的:
我想在运行时将文档的背景颜色更改为其他颜色(例如,不同的颜色,渐变或图片)。简单吧?也许不吧。我无法弄清楚。一些.NET友好的灵魂可以解释如何解决这个问题吗?
答案 0 :(得分:3)
如果你想让背景改变颜色,而不是画它,javascript可能是解决这个问题的好方法。
你改变的将取决于嵌入代码,但你想要改变的参数是bgcolor。
在原型中,javascript看起来像这样:
$('yourFlashContainerId').down('[name="bgcolor"]').writeAttribute('value','#000000');
在flash中绘制它,你可以这样做:
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背景颜色。
假设你的flash嵌入有以下内容:
<param name="wmode" value="transparent">
原型:
$('yourFlashContainerId').setStyle({'background-color':'#000'});
jQuery的:
$('#yourFlashContainerId').css({'background-color':'#000'});
天然:
document.getElementById('yourFlashContainerId').style.background-color="#000";
答案 1 :(得分:1)
您可以在设计时创建所需的背景,为方便起见,将它们放在不同的图层上。将每个背景转换为MovieClip - 每个都有自己的实例名称(bg1,bg2等)。
在构造函数中,您可以通过设置其.visible属性来规定哪些背景可见以及哪些背景不可见:
bg1.visible = true;
bg2.visible = false; etc.
如果要更换背景,只需更改可见性属性即可。使用此方法,您可以拥有各种背景 - 位图图像,渐变,纯色等。
答案 2 :(得分:0)
文档颜色实际上是在嵌入HTML中设置的。要获得动态背景颜色,我建议您使用背景动画片段,在需要时绘制颜色。绘制颜色可以使用drawing API。