2

我想在时间大于 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);}

但它没有用。

你能提供任何线索来解决这个问题吗?

4

2 回答 2

3

100 秒?你有第二帧的电影剪辑,我假设它具有所需的颜色。因此,第一帧中的代码将是:

setTimeout(function () : void {
    myMovieClipName.gotoAndStop(2);
}, 100000); // 100 * 1000 ms

其中 myMovieClipName 是您的电影剪辑的名称,请在舞台上为其命名。

于 2012-10-22T17:52:34.533 回答
0

我不知道 setStyle 是什么,如果它是您自己的功能,您可以为我们发布方法主体吗?无论如何都是错误的,因为 AS3 无法识别以哈希符号开头的数字,您需要以 0x 开头的十六进制数字(见下文)

无论如何,假设它是一个实际不存在的假定本机函数,要更改阶段(即 Flash),请使用:

stage.color = 0xFFFFFF;

要更改嵌入的 HTML 页面的背景,请调用:

ExternalInterface.call("ELEMENT.style.backgroundColor = '#ffffff'; ");

...其中 ELEMENT 是对您希望更改的元素的引用,即 body、div 等

无论如何,您的条件逻辑令人困惑,如果以上内容没有帮助,您可以发布更多代码以便我们了解实际发生的情况吗?谢谢。

编辑

这不是我编写这样一个应用程序的方式,但为了适应您现有的代码,这个条件将起作用(假设您在根时间轴上编码):

if(time < 10)
{
     stage.color = 0xFF0000;
}
于 2012-10-22T12:53:17.150 回答