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にコメントを追加しました。私がこのようにこれを達成しようとしている理由は..私はこれのためにライブラリを使用したくないということです..私はそのようなものを学びたいので...ライブラリを使用することは私が学ぶのを助けません...