2

easyjs ライブラリを使用して要素を再利用しようとすると、問題が発生し続けます。clone()メソッドを使用するかどうかにかかわらず、インスタンスを 1 つしか取得できず、onPress などのイベントが新しい要素に対して機能しなくなります。

複数のコンテナに同じオブジェクトを追加すると、オブジェクトがどこからでも消えます。これを回避するための回避策を見つけなければならず、コードを台無しにし、リソースを浪費しています。

ヘルプやヒントをお寄せいただきありがとうございます。

4

2 に答える 2

1

このようなものはどうですか?これがあなたが求めているものかどうかはわかりませんが...多分それは誰かを助けるでしょう。

var canvas, stage;

    function init() {
        canvas = document.getElementById("testCanvas");

        //check to see if we are running in a browser with touch support
        stage = new createjs.Stage(canvas);
        createjs.Ticker.setFPS(24);
        createjs.Ticker.addListener(window);

        var width = 50;
        var height = 50;
        var padding = 5;
        var box = new createjs.Shape();
        box.graphics.beginFill("#FF0099").drawRect(0, 0, width, width).endFill();

        var l = 25;
        var cols = 7;
        for(var i=0;i<l;i++) {
            var boxClone = box.clone();
            boxClone.x = (width+padding) * (i%cols);
            boxClone.y = (height+padding) * (i/cols|0);
            boxClone.index = i;
            boxClone.onClick = handleClick;
            stage.addChild(boxClone);
        }
    }

    function handleClick(event) {
        console.log(event.target);
    }

    function tick() {
        stage.update();
    }
于 2012-11-08T22:54:06.053 に答える