0

男の子の絵の肌、髪の毛、シャツの色を変更するための記号が含まれている.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)があります。このように、1つの変数(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()たが、何もしません。

それらの色を動的に変更する方法があるかどうか知っていますか?

前もって感謝します

4

2 に答える 2

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();
 }
于 2013-07-24T04:38:38.693 に答える