创建一个不同的Kinetic.Image()数组,image.getImage()未定义?

时间:2013-04-16 01:51:17

标签: javascript kineticjs

我正在使用javascriptKinetic

<script src="http://d3lp1msu2r81bx.cloudfront.net/kjs/js/lib/kinetic-v4.4.2.min.js"></script>

我需要创建一个Kinetic.Images()数组,每个数组都有不同的图像。 这是我的代码。

var imagesRef = ["cNote.gif","dNote.gif","eNote.gif","fNote.gif","gNote.gif","aNote.gif","cNote.gif","cSharpdFlat.gif","dSharpeFlat.gif","fSharpgFlat.gif","gSharpaFlat.gif","aSharpbFlat.gif"];                                                                        
    var imageObjs=[] ;
    var imageObj;
    var images=[];
    var image;
    var imageX = 0;
    var stage = new Kinetic.Stage({
        container: 'container',
        width: 578,
        height: 200
      });
      var layer = new Kinetic.Layer();
  function drawImages(){
  for(i=0;i<11;i++){
    var imageObj = new Image();
    imageObjs[i] = imageObj;
    imageObjs[i].src= imagePath + imagesRef[i];

    alert(imageObjs[i].src);
    imageObjs[i].onload = function(){
      alert("imageOnload has been called");
    var image = new Kinetic.Image({
           x:imageX,
           y:0,
           image:imageObjs[i],
           width:75,
           height:75,
           stroke:'black',
           strokeWidth:1,
           strokeEnabled:true
        });

        alert("image has been created");
        alert(image.getImage());
    images[i] = image;
    layer.add(images[i]);
    imageX += 75;
    layer.draw();
    }

  }
   }
stage.add(layer);

</script>

 <input type="button" onclick="drawImages();"id="submit" value="submit" />

单击按钮时,应加载图像。 但是只加载kinetic.image的笔划

所以我看到的是一排矩形,里面没有像它应该的图像。 每次在警报“图像创建”之前迭代循环时imageObjs[i].src点火的警报。当我尝试alert(image.getImage())时,我得到了未定义。

1 个答案:

答案 0 :(得分:1)

我认为可能是因为你没有定义变量imagePath