在画布上从左向右直线移动圆圈
Moving circle in a straight line from left to the right of canvas
本文关键字:移动 更新时间:2023-09-26
我在这里试图用这段代码在直线上画一个移动的圆圈。但是我把语法放错了。帮助我更正此代码。
<script>
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
function draw_circle (circleX, circleY, radius, fill) {
context.fillStyle = "black";
context.fillRect(0, 0, 800, 300);
context.strokeStyle = "red";
context.strokeRect(5, 5, 790, 290);
var speed = 5
context.fillStyle = fill;
context.arc(circleX, circleY, radius, 0, Math.PI*2);
context.fill();
}
setInterval(draw_circle(100,100, 30 , "cyan"), 33);
</script>
您必须清除画布(使用canvas.width = canvas.width
或clearRect()
)
请注意,您必须添加context.beginPath()
才能让clearRect()
完成他的工作。
一旦完成,你只需要增加你弧线的x位置。
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
function draw_circle (circleX, circleY, radius, fill) {
//clear the canvas
context.clearRect(0,0,canvas.width, canvas.height);
context.beginPath();
context.fillStyle = "black";
context.fillRect(0, 0, 800, 300);
context.strokeStyle = "red";
context.strokeRect(5, 5, 790, 290);
var speed = 5;
//just a loop if you don't want it simply use `i+=speed;`
(i>canvas.width+radius)?i=(radius*-2):i+=speed;
context.fillStyle = fill;
context.arc(circleX, circleY, radius, 0, Math.PI*2);
context.fill();
}
var i=0;
setInterval(function(){draw_circle(i,100, 30 , "cyan")}, 33);
<canvas id = "myCanvas"></canvas>
相关文章:
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- FabricJs-限制主对象内添加对象的移动区域
- 如何从画布上的某个移动事件中获取X和Y
- 触摸移动时切换到新元素
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 停止jQuery UI滑块移动超过给定值
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 如何将chrome扩展功能移植到移动设备(特别是jquery和trello)
- JQuery移动动态分区页面
- XMLHttpRequest在移动设备上的chrome上不起作用
- 如何使bxslider仅在移动视图中处于活动状态
- css停止图像在滚动中移动
- jquery移动对齐按钮取决于内容大小
- 背景图像顶部的滚动图像不移动
- 如何在react js中移动第二个组件
- DataTables在表之间移动行
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标