Я использую холст для игры. У меня есть объект Sprite, который рисует себя на холсте, в классе Sprite я создаю элемент Image вместе с его атрибутом src при создании объекта.
Вот код, который не работает:
Sprite.prototype.draw = function(Context){
this.Image.onLoad = function(){
Context.drawImage(this.getImage(),this.getX(),this.getY());
};
};
В конструкторе объектов я передаю строковый параметр, который является путем к файлу изображения - он сохраняется правильно.
У меня такое ощущение, что проблема заключается в функции setImage:
Sprite.prototype.setImage = function(){
this.Image = document.createElement('img');
this.Image.src = this.getImagePath(); //This just returns the path as a
string
};
Я не получаю ошибок во время выполнения... но изображение не выводится на экран?
Кто-нибудь может указать, что случилось? Я искал ответы на этот вопрос, но у всех все элементы создаются в html-документе, тогда как все мои создаются на лету, не знаю, имеет ли это какое-то значение.
Ваше здоровье
onload
, а неonLoad
. Во-вторых, ваша функцияdraw
только прикрепляет прослушиватель к вашему объекту изображения. Если к моменту вызоваdraw
событиеload
уже было запущено, код прослушивателя никогда не запустится. - person apsillers   schedule 23.10.2013