我对HTML5画布2D工作,是有它可以帮助做到像例如下面的链接给出任何功能 -拖动图像在HTML5画布具有定义的边界
1
A
回答
0
下面的链接和代码。 http://html5.litten.com/how-to-drag-and-drop-on-an-html5-canvas/
<html>
<head>
</head>
<body>
<section>
<div>
<canvas id="canvas5" height="300" width="400"> This text is displayed if your browser does not support HTML5 Canvas. </canvas>
</div>
<script type="text/javascript">
var canvas5;
var ctx5;
var x5 = 75;
var y5 = 50;
var dx5 = 5;
var dy5 = 3;
var WIDTH5 = 400;
var HEIGHT5 = 300;
var dragok = false;
function rect(x,y,w,h) {
ctx5.beginPath();
ctx5.rect(x,y,w,h);
ctx5.closePath();
ctx5.fill();
}
function clear() {
ctx5.clearRect(0, 0, WIDTH5, HEIGHT5);
}
function init() {
canvas5 = document.getElementById("canvas5");
ctx5 = canvas5.getContext("2d");
return setInterval(draw5, 10);
}
function draw5() {
if(x5>10 && x5<350 && y5>10 && y5<350)
{
clear();
ctx5.fillStyle = "#FAF7F8";
rect(0,0,WIDTH5,HEIGHT5);
ctx5.fillStyle = "#444444";
rect(x5 - 15, y5 - 15, 30, 30);
}
}
function myMove(e){
if (dragok){
x5 = e.pageX - canvas5.offsetLeft;
y5 = e.pageY - canvas5.offsetTop;
}
}
function myDown(e){
if (e.pageX < x5 + 15 + canvas5.offsetLeft)
if (e.pageX > x5 - 15 + canvas5.offsetLeft)
if (e.pageY < y5 + 15 + canvas5.offsetTop)
if (e.pageY > y5 -15 + canvas5.offsetTop){
x5 = e.pageX - canvas5.offsetLeft;
y5 = e.pageY - canvas5.offsetTop;
dragok = true;
canvas5.onmousemove = myMove;
}
}
function myUp(){
dragok = false;
canvas5.onmousemove = null;
}
init();
canvas5.onmousedown = myDown;
canvas5.onmouseup = myUp;
</script>
</section>
</body>
</html>
0
如果你想就如何使对象可拖动的HTML5 Canvas中我写的教程有很多的解释here干净的教程。
对于您在画布上绘制的每个对象,您可能还需要给它一些“限制边界”,如limitX,limitY,limitWidth,limitHeight等。然后在拖动时需要确保它仍然在这些范围内。如果它超出界限,你只会强迫它靠近它试图被拖出的那一边。
相关问题
- 1. 在HTML5画布中拖放多个边界内的图像
- 2. HTML5画布显示和拖动图像
- 3. 拖动边界图像
- 4. html5 - 拖动画布
- 5. 如何仅在画布边界实现拖放图像
- 6. HTML5在边界内可拖动
- 7. “googlemaps”拖动html5画布
- 8. 可拖动,在HTML5画布分级图像
- 9. HTML5画布图像工具提示
- 10. 在画布上拖动图像
- 11. 在html5画布上自定义滚动
- 12. 保存HTML5画布内容,包括拖动图像
- 13. 拖放HTML5中的画布
- 14. HTML5画布绘制矩形 - 有差异宽度的边界?
- 15. HTML5画布 - 在画布上拖动文本问题
- 16. HTML5画布图像移动闪烁
- 17. Openseadragon图像拖动多个画布
- 18. HTML5画布:使对象仅在画布的特定区域中可拖动。
- 19. HTML布局定位及图像边界
- 20. HTML5画布显示图像
- 21. HTML5画布绘制图像
- 22. HTML5画布图像变色
- 23. toDataURL不适用于具有SVG图像的html5画布
- 24. HTML5画布DrawImage没有绘制图像
- 25. HTML5画布或SVG世界地图
- 26. 如何在HTML5画布上进行适当的边界检查?
- 27. 动画GIF在HTML5画布
- 28. 使用HTML5画布拖放不规则图像
- 29. 在HTML5画布中缩放图像
- 30. 在图像上覆盖HTML5画布
Maneesh谢谢,但我想是这样给出的图像 - 图像,鹰剪贴画是不是在画布上 移出定义的边界假设我们有固定的边界剪贴画开始点(10,10)到( 350,350) http://plus.google.com/u/0/photos/109906204570243538818/albums/5724543242938487617 – 2012-03-27 11:53:52
您可以使用draw5函数中的条件来执行此操作... if(x5> 10 && x5 <350 && y5> 10 && y5 < 350)..编辑答案。 – Maneesh 2012-03-27 12:11:58
好的会的。再次感谢 – 2012-03-27 13:33:51