Я экспериментирую с элементом canvas
, но по какой-то причине он не отображает мое изображение.
Я использую следующий код:
function Canvas() {
this.field = function() {
var battlefield = document.getElementById('battlefield');
var canvas = battlefield.getElementsByTagName('canvas')[0];
return canvas.getContext('2d');
}
}
function Draw(canvas) {
if (!canvas) {
alert('There is no canvas available (yet)!');
return false;
}
this.canvas = canvas;
this.grass = function(pos_x, pos_y) {
var terrain = new Terrain();
var specs = terrain.grass();
var img = new Image();
img.onload = function(){
canvas.drawImage(img, specs.position_x, specs.position_y, specs.dimension_x, specs.dimension_y, pos_x, pos_y, specs.dimension_x, specs.dimension_y);
console.log('success???'); // this is being output
};
img.src = '/img/terrain.png';
}
}
(function() {
var canvas = new Canvas();
var draw = new Draw(canvas.field());
draw.grass();
})();
Нет ошибок, но изображение просто не отображается. Я проверил, существует ли изображение, и оно существует. Я также проверил specs
, и они содержат то, что должны:
dimension_x: 25
dimension_y: 25
position_x: 0
position_y: 0
Есть идеи, что я делаю не так?
http://jsfiddle.net/uwkfD/3/