我正在阅读一些教程并尝试使用javascript,尤其是EaselJS。我想创建一些容器,将图像和文本放在一起。但是我收到以下错误:" Uncaught TypeError:当我尝试将文本和图像添加到容器中时,undefined不是函数" 。
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 :(得分:1)
您正试图在addChild
阵列上呼叫container
,而不是Container
个实例。我很确定这是你的意图:
container[i].addChild(img[i]);
这就是命名很重要的原因。考虑使用containers
或containerList
代替container
作为您的数组名称,以阐明它是一个集合。