bHive thực hiện điều này thực sự độc đáo và đến từ một nền Actionscript tôi thấy nó khá dễ sử dụng, tôi đã phải nhìn vào trình diễn như tài liệu không hữu ích!
Để giúp bạn ..
square = engine.createShape({
shape: 'square',
style: 'filled',
backgroundColor: '#000',
width: 120,
height: 20,
x: 20,
y: 100
});
Để làm bất cứ hành động chuột bạn cần phải thêm nó vào một đối tượng clip.
clip = engine.createClip({ x: 20, y: 20 });
Sau đó
clip.add(square);
thêm một sự kiện nghe
clip.addEventListener('onmouseover',function(e) { some code ... });
clip.addEventListener('onclick',function(e) { some code ... });
Trong vòng lặp bạn cần sau đó vẽ hình vuông.
clip.draw();
Tôi đang sử dụng mã nguồn của bản demo để giúp tôi trải qua rất có thể kiểm tra http://www.bhivecanvas.com/demos/cargame.php như có hiệu ứng Rollover và onclicks trong đó.
Yep, SVG là cách dễ nhất để đi. Theo tôi biết, không có thư viện canvas nào hỗ trợ loại phát hiện sự kiện như bạn muốn. –