0

内部にレイヤーがあり、レイヤー内にグループがあるステージがあります。

オブジェクト ( var complexText = new Kinetic.Text()) にname: 'name1'とがある場合、を使用するだけid: 'id5'で塗りつぶしとテキストを変更できsetFill()ますか?setText()id

私のコードが機能していません:

var stage = new Kinetic.Stage({ ... });
var layer = new Kinetic.Layer();
var group1 = new Kinetic.Group({ draggable: false });
layer.add(group1);
stage.add(layer);

var menuTab = new Kinetic.Rect({... , id: 'id1', name: 'name1'});      
var complexText = new Kinetic.Text({... , id: 'id5', name: 'name1'});      
group1.add(menuTab);
group1.add(complexText);

menuTab.on('click', function() {
    var textChange = stage.get('#id5');  // didn't work
    // and .... var textChange = layer.get('#id5');
    // and .... var textChange = group1.get('#id5'); //didn't work

        textChange.setFill('#BB9999');
        textChange.setText('f3');
        alert( textChange.getText() );
        //this.setText('3');
    layer.draw();
});
4

1 に答える 1

0

使用する必要があります

var textChange = stage.get('#id5')[0];
// or .... var textChange = layer.get('#id5')[0];
// or .... var textChange = group1.get('#id5')[0];

textChange.setFill('#BB9999');
textChange.setText('f3');
于 2013-08-27T20:06:20.237 に答える