【问题标题】:CreateJS - Change color in objectCreateJS - 更改对象的颜色
【发布时间】:2013-02-15 16:43:26
【问题描述】:

我有一个 .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);`

这是生成文件的init函数

//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(),但它什么也没做。

你知道有没有办法动态地改变这些颜色?

提前致谢

【问题讨论】:

    标签: stage createjs


    【解决方案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();
     }
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2021-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-06
        • 2020-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多