2015-02-05 45 views
0

我正在瀏覽一些教程,並嘗試使用javascript,尤其是EaselJS。我想創建一些容器,它們將圖像和文本放在一起。但我得到以下錯誤:「Uncaught TypeError:undefined不是函數」當我嘗試將文本和圖像添加到容器。向容器添加子項()EaselJS

function init() { 
     stage = new createjs.Stage("demoCanvas"); 


     for(var i=0; i<container.length; i++) { //looping through creation of objects 
      container[i] = new createjs.Container(); 
      container[i].x = Math.floor(Math.random() * (760 - 40)); 
      img[i] = new createjs.Bitmap (" choc.png"); 
      container.addChild(img[i]); 
      txt[i] = new createjs.Text(i, "bold 16px Courier", "#fff"); 
      txt[i].textAlign = "center"; 
      txt[i].y = 50; 
      container.addChild(txt[i]); 
      stage.addChild(container[i]); 

     } 

的誤差是在container.addChild(IMG [I]);一行。

+0

我不使用EaselJS,但是我看到在文件名的開頭有一個空格:'choc.png'。可能會有所作爲? – 2015-02-05 20:52:39

+0

舞臺更新在哪裏? – Lanny 2015-02-06 14:46:35

+0

該空間並沒有真正改變,我正在用for循環之後的容器更新舞臺。我似乎無法解決這個問題,我嘗試了一切。 – iliyandobrev 2015-02-07 11:23:09

回答

0

您試圖在container陣列上調用addChild而不是在Container實例上。我敢肯定這是您的本意:

container[i].addChild(img[i]);

這就是爲什麼命名是很重要的。考慮使用containerscontainerList而不是container作爲您的數組名稱,以說明它是一個集合。

+0

這實際上工作,愚蠢的類型錯誤。謝謝你,先生。 – iliyandobrev 2015-02-08 14:45:13

相關問題