我有一个.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>
你知道是否有办法改变这些颜色吗?
提前致谢
答案 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)
目前没有办法 - 当颜色发生变化时,您必须重建形状。