我正在为我的编程课做一个项目。我想基本上有一个带有背景元素的画布(比如 room.jpg),然后房间里可能有三个交互式对象(lamp.jpg、couch.jpg、desk.jpg)。我希望它是,如果您将鼠标悬停在灯上,则会弹出一个小框或文本,为您提供一些信息。或者也许有它,所以如果你点击一个图像,同样的概念就会发生。你知道,与画布中的对象交互的东西。同样,我是画布的新手,但我们必须在作业中使用它。我目前的代码是:
function loadImages(sources, callback) {
var images = {};
var loadedImages = 0;
var numImages = 0;
// get num of sources
for(var src in sources) {
numImages++;
}
for(var src in sources) {
images[src] = new Image();
images[src].onload = function() {
if(++loadedImages >= numImages) {
callback(images);
}
};
images[src].src = sources[src];
}
}
var sources = {
room: 'room.jpg',
title: 'title.jpg'
};
loadImages(sources, function(images) {
context.drawImage(images.room, 0,0);
context.drawImage(images.title, 0,0);
});
}
但据我了解,它使这两个 jpeg 成为“永久”画布元素(无法被弄乱)。我一直试图得到它,以便当我点击时我会从 title.jpg 转到 room.jpg 但我已经放弃了。本质上,我现在想要的只是让 room.jpg 在页面首次加载时出现,并在顶部有其他三个 png 对象(作为房间中的对象)。这些是否可以交互,或者我必须以其他方式将图像放入画布中?感谢您的所有帮助和耐心!