我正在使用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())
时,我得到了未定义。
答案 0 :(得分:1)
我认为可能是因为你没有定义变量imagePath
。