首页 > 解决方案 > AS3 Color.interpolateColor 仅在应用程序版本中给出错误?

问题描述

我有一个旧的 Flash 游戏,我在其中使用 interpolateColor 来广泛混合颜色并且它有效。

但它现在给出了一个错误。这是代码:

var firstColour = firstFusionGenes.girl.body.head.shapes.transform.colorTransform.color;
var secondColour = secondFusionGenes.girl.body.head.shapes.transform.colorTransform.color;
var newColour = this.transform.colorTransform; //so it's not empty
newColour.color = Color.interpolateColor(firstColour, secondColour, 0.5);

我跟踪了 firstColour 和 secondColour 的结果,它们按预期返回为颜色整数。但我得到了错误:

ReferenceError: Error #1065: Variable Color is not defined.

我确保添加了有关将 Color 导入 Flash 的所有行,尽管它过去在没有它的情况下也能正常工作。我在将其重新格式化为应用程序格式时所做的事情已经破坏了它。但我不明白这个错误;好像它现在不明白“颜色”是什么?错误是什么意思?

附录:

我制作了一个全新的文件来测试代码,它给出了一个不同的错误:

1120: Access of undefined property Color.

但是当我在文件中包含这个错误时,这个错误就消失了:

import fl.motion.Color;

所以我不认为这是颜色不在程序中的问题。错误与此略有不同。

标签: actionscript-3flashairadobe-animate

解决方案


我一直在修改有效的新文件,并试图找出它与我损坏的文件之间的设置差异。最后我在附加文件中找到了这个文件夹。当我从新文件中删除它时,它给出了同样的错误。所以我回去确保将这个文件夹添加到损坏的文件中(它丢失了),这就解决了这个问题!我假设这与允许 Animate 像 Organis 所说的那样引入颜色代码有关。

在此处输入图像描述


推荐阅读