2013-03-08 2 views
0

캔버스에 이미지 배열을 그리려고하지만 아무 것도 그려지지 않습니다! 다음은 내 코드입니다! 또한 내가 폰갭과 자바 스크립트에 대한 된 index.html을 배우려고 노력하고 있어요 :배열 이미지를 캔버스에 그립니까?

<!DOCTYPE html> 
<html> 
<head> 
<title>Minecraft Background Check</title> 
</head> 
<body> 
<canvas id="mycanvas" style="position:fixed; top:0; left:0; border:1px solid #c3c3c3; width: 100%; height: 100%;"></canvas> 
<script type="text/javascript" src="cordova-2.5.0.js"></script> 
<script type="text/javascript"> 
document.addEventListener("deviceready",ondeviceReady,false); 
function onDeviceReady() {} 
    //get element by id 
var c = document.getElementById("mycanvas"); 
var ctx = c.getContext("2d"); 
    //array image which need to draw in canvas 
var image = ["img/image12","img/image13","img/image14","img/image15","img/image10"]; 
var m_arrImages = {}; 
for (var src in image) { 
    m_arrImages[src] = new Image(); 

    m_arrImages[src].src = image[src]; 
} 
var imagePositionsX = [20, 80, 140, 200, 260, 320, 380, 440, 500, 560]; 
var imagePositionsY = [20, 60, 100, 140, 180, 220, 260, 300, 340, 380]; 
var i, x, y; 
for (i = 0; i < m_arrImages.length; i++) { 
    x = imagePositionsX[ Math.floor(Math.random()*10) ]; 
    y = imagePositionsY[ Math.floor(Math.random()*10) ]; 

    ctx.drawImage(m_arrImages[i], x, y, 50, 50); 
} 
</script> 
</body> 
</html> 

답변

2

을 당신은 deviceready 행사에서 실행하는 기능 ondeviceReady를 설정하지만 함수가 정의되어 있지 않습니다. onDeviceReady이라는 함수를 정의했습니다. Javascript 변수 및 함수 이름은 대소 문자를 구별하므로 deviceready 이벤트에서 아무 것도 실행되지 않습니다.

변경 : - 그것은 문자열이 아닌 이미지 만 배열이다,있다 없다가

document.addEventListener("deviceready",ondeviceReady,false); 

document.addEventListener("deviceready",onDeviceReady,false); 
+0

내가 그 오류를 수정 :

나는 것, 그것은 그런 일이 될 sould! 그러나 동일한 문제가 있습니다! hix hix! –

1

에 내가 "m_arrImages".. 잘못,하지만이 될 수 있습니까?

var m_arrImages = {}; 
for (var src in image) { 
    m_arrImages[src] = new Image(); 
    m_arrImages[src].src = image[src]; 
} 
+0

나는 그것을 고친다! 그러나 같은 문제! hixhix! 도와 주셔서 감사합니다! –

관련 문제