2013-05-13 2 views
0

В приведенном ниже коде, когда я нажимаю на circle, он предназначен для обновления свойства текста txt с использованием txt.Text = "gffdfgdsgsdgsdg"; Но это не будет работать? Вы знаете, как это сделать?EaselJS динамически обновляет текстовый объект с помощью onClick

function init() { 

    var canvas = document.getElementById('easel'); 
    var stage = new createjs.Stage(canvas); 

    var circle = new createjs.Shape(); 
    circle.graphics.beginFill("rgba(255,255,255,1)").drawCircle(40, 40, 40); 

    var shape = new createjs.Shape(); 
    shape.graphics.s('red').ss(10, 'round', 'round').mt(50, 50).lt(250, 250).lt(50, 250).cp(); 

    var shape2 = new createjs.Shape(); 
    shape2.graphics.s('blue').ss(20, 'round', 'round').mt(200, 50).lt(250, 250).lt(50, 250).cp(); 

    var txt = new createjs.Text("Hello CreateJS!", "15px Arial", "#FFF"); 
    txt.y = 45; 

    shape.onClick = function (event) { 
     this.x -= 1; 
    }; 
    shape2.onClick = function (event) { 
     this.x += 3; 
    }; 

    circle.onClick = function (event) { 

     alert('fhdfhdfhg'); 

     var s = this.x + ' y:' + this.y; 

     //txt.Text = "dfsdfs"; 

     txt.Text = "gffdfgdsgsdgsdg"; 

    }; 

    stage.addChild(shape); 
    stage.addChild(shape2); 
    stage.addChild(circle); 
    stage.addChild(txt); 

    //Update stage will render next frame 
    createjs.Ticker.setFPS(15); 
    createjs.Ticker.addEventListener("tick", handleTick); 

    function handleTick() { 

     console.log('test'); 

     circle.x += 2; 

     stage.update(); 
    } 


} 

ответ

1

Вам необходимо обновить сцену после обновления свойство «текст» (Может быть, ваш тикер не работает по какой-то причине):

circle.onClick = function (event) { 

    txt.text = "gffdfgdsgsdgsdg"; 

    stage.update(); 

}; 

PD: Обратите внимание, что свойство «текст» в нижнем регистре.

1

Решение заключалось в использовании свойства текста в нижнем регистре;

txt.text = "update text";

 Смежные вопросы

  • Нет связанных вопросов^_^