我想在 html5 画布上下文中使用精灵。
我想用鼠标拖动它。所以在拖动鼠标时显示区域会发生变化。
它应该看起来像一个宽度为 21 且高度为 90 的窗口,其中只有一部分精灵可见。当我向下或向上拖动精灵时,我希望可见部分发生变化。
我想我可以用 drawImage (slice) 方法做到这一点,但它不能按我想要的方式工作......
你能帮帮我吗?
<html>
<head>
<script type="text/javascript">
var y = 30;
var canvas;
var context;
var imageHours;
function clearClock(context) {
context.clearRect(0, 0, 300, 500);
}
function init(){
canvas = document.getElementById("uhr");
context = canvas.getContext("2d");
imageHours = new Image();
imageHours.src = "07.png";
context.drawImage(imageHours, 0, y, 21, 90, 50, 50, 21, 90);
var down = false;
canvas.addEventListener('mousedown', function(event) { down = true; }, false);
canvas.addEventListener('mouseup', function() { down = false; }, false);
canvas.addEventListener('mousemove', function(event){
if(down){
if(event.layerY > 50 && event.layerY < 140){
y = event.layerY;
}
clearClock(context);
context.drawImage(imageHours, 0, y, 21, 90, 50, 50, 21, 90);
}
}, false);
}
</script>
</head>
<body onload="init();">
<canvas id="uhr" height="500px" width="300px"/>
</body>
</html>
雪碧:
编辑:我在我的 mainPost 中添加了评论。我试图这样做的原因是..我不想为此使用图书馆..因为我想学习这样的东西......使用图书馆并不能帮助我学习......