首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多帧上的AS3 colorTransform?

多帧上的AS3 colorTransform?
EN

Stack Overflow用户
提问于 2011-11-30 09:46:42
回答 1查看 636关注 0票数 0

(Flash专业版,AS3)

我正在开发一个自定义的头像系统,你可以在其中选择不同的标志和颜色。例如,我有一个有10种发型的“头发”电影剪辑。每帧都有一个不同发型的电影剪辑(HairStyle1、HairStyle2等)。我还有一个可以改变颜色的colorPicker。

下面是我的代码:

代码语言:javascript
运行
复制
var hairColor:ColorTransform;
hairColor = mc_myAvatar.hair.colorLayer.transform.colorTransform; 
hairColor.color = 0xCCCC00; 
mc_myAvatar.hair.colorLayer.transform.colorTransform = hairColor;

这会正确地更改初始颜色。我有一个"nextHair“按钮让mc_myAvatar.hair前进到下一帧。当我单击该按钮时,我收到一条错误消息,指出我有一个空的对象引用。我添加了跟踪,第2帧上的mc_myAvatar.hair.colorLayer为空。为什么?在第2帧中,我已经明确地将HairStyle2命名为"colorLayer“。

我认为这个问题与我对不同的类/电影片段使用相同的名称有关,但我不知道如何解决这个问题……

我在我的hairStyle电影剪辑下面添加了一个方形电影剪辑,将该方形命名为"colorLevel",并从我的hairStyle剪辑中删除了该名称。当我单击“下一步”按钮时,正方形会正确地保持帧与帧之间的颜色。然而,有一个正方形对我来说并没有太大的好处。:(

我尝试将hairStyle层转换为蒙版。然而,这样做会导致另一个“空对象”错误-第1帧之后的mc_myAvatar.hair.colorLayer为空。我甚至尝试在所有帧(没有关键帧)中“跨越”我的colorLevel,认为这只会给我一个电影剪辑来处理。不走运。同样的错误!

这是怎么回事?为什么我会得到这些空对象,当它们在我的电影剪辑中被明确定义时?

我也乐于接受更好的方式来做多种框架和颜色的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-01 00:01:23

代码语言:javascript
运行
复制
function miClick(e:MouseEvent) {
    content.gotoAndStop(e.currentTarget.parent.name);

    if(e.currentTarget.parent.name == "2") {
        content.addEventListener(Event.EXIT_FRAME, this.hdExitFrame);
        productMenu.alpha = 1;
        trace(content.products);
    } else {
        productMenu.alpha = 0;
    }
}

function hdExitFrame(e:Event) {
    trace(e.target.currentFrame + ", " + e.target.products);
    content.removeEventListener(Event.EXIT_FRAME, this.hdExitFrame);
}

我已经测试过了,content.products在miClick中是空的,但是在hdExitFrame中却不是。希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8320178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档