我希望在时间大于100时更改Flash文档中的背景颜色。我已经创建了一个计数器并将其指定为动画片段。我目前的代码是:
time--;
//this is for motion tween
if (time>0) {
gotoAndPlay(2);
}
if (time == 0) {
fscommand("quit");
stop();
}
我尝试添加
if (time>100) {setStyle("backgroundColor", #FFFFFF);}
但它不起作用。
你能解决这个问题吗?
答案 0 :(得分:3)
100秒?并且你有第二帧的movieclip我想要的颜色。因此,第一帧中的代码将是:
setTimeout(function () : void {
myMovieClipName.gotoAndStop(2);
}, 100000); // 100 * 1000 ms
其中myMovieClipName是动画片段的名称,请在舞台上为其命名。
答案 1 :(得分:0)
我不知道setStyle是什么,如果它是你自己的函数你能为我们发布方法体吗?在任何情况下都是错误的,因为AS3不会识别以哈希符号开头的数字,你需要用0x开始十六进制数字(见下文)
无论如何,假设它是一个实际上不存在的假定的本机函数,改变阶段(即Flash),使用:
stage.color = 0xFFFFFF;
要更改其嵌入的HTML页面的背景,请致电:
ExternalInterface.call("ELEMENT.style.backgroundColor = '#ffffff'; ");
...其中ELEMENT是对你想要改变的元素的引用,即body,div等
在任何情况下,您的条件逻辑都会令人困惑,如果上述方法无效,您是否可以发布更多代码,以便我们可以看到实际发生的情况?感谢。
修改强>
这不是我编写这样一个应用程序的方式,但是为了适应你现有的代码,这个条件会起作用(前提是你在根时间轴上编码):
if(time < 10)
{
stage.color = 0xFF0000;
}