CreateJS - 更改对象中的颜色

时间:2013-02-15 16:43:26

标签: stage createjs

我有一个.fla文件,我有一些符号可以改变男孩画中的皮肤,头发和衬衫颜色。当我用CreateJS导出它时,我得到了这个:

// 1Hair
this.shape_226 = new cjs.Shape();
this.shape_226.graphics.f("#FCDEC4").s().p("AA").cp();
this.shape_226.setTransform(0.1,-95.3);`

在那里你可以看到代表头发颜色的颜色(#FCDEC4),我尝试替换一个变量的颜色(boyHair),就像这样

// 1Hair
this.shape_226 = new cjs.Shape();
this.shape_226.graphics.f(boyHair).s().p("AA").cp();
this.shape_226.setTransform(0.1,-95.3);`

这是生成文件的初始化函数

//Modified from exported file of Flash Toolkit for CreateJS
var canvas, stage, exportRoot;
function init() {
    canvas=document.getElementById("canvas");
    exportRoot=new lib.characters();

    stage=new createjs.Stage(canvas);
    stage.addChild(exportRoot);
    stage.update();

    createjs.Ticker.setFPS(24);
    createjs.Ticker.addListener(stage);
}

我在我的主JavaScript文件中设置了这样的值:

var boyHair="#000000";

并且第一次工作(我猜在初始化阶段)但是如果我稍后在代码上修改了值,它对画布绘制没有影响,我尝试使用stage.update()但它也没有做任何事情。< / p>

你知道是否有办法改变这些颜色吗?

提前致谢

2 个答案:

答案 0 :(得分:1)

尝试做这样的事情

 var canvas, stage, exportRoot;
function init() 
{
canvas=document.getElementById("canvas");
exportRoot=new lib.characters();
stage=new createjs.Stage(canvas);
stage.addChild(exportRoot);
createjs.Ticker.setFPS(24);
createjs.Ticker.addEventListener ("tick", tick);
}
 tick =function()
 {
     var boyHair="#000000";
     stage.update();
 }

答案 1 :(得分:0)

目前没有办法 - 当颜色发生变化时,您必须重建形状。