在画布内绘制的弹跳球,javascript
Bouncing balls drawing inside a canvas, javascript
function refBalls(){
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var circles = [{x:40,y:100,r:20,color:'black',vx:5,vy:10}]
function draw(){
ctx.beginPath();
ctx.arc(circles[0].x, circles[0].y, circles[0].r, 0, 2 * Math.PI);
ctx.fillStyle = "blue";
ctx.fill();
if( (circles[0].x + circles[0].r + circles[0].vx > c.width + c.style.left) || (circles[0].x - circles[0].r + circles[0].vx < c.style.left) ){
circles[0].vx = -circles[0].vx;
}
circles[0].x += circles[0].vx;
requestAnimationFrame(draw);
}
requestAnimationFrame(draw);}
我能够看到球在移动,但我看到它之前的位置。我应该看到一个球在移动,相反,我看到的是画布上像球画一样的条带。有人可以帮助我吗?这是我在浏览器中看到的
每次绘制框架时都需要清除画布。 这与视频游戏将其内容呈现到屏幕上的方式相同。
这里有一些例子:如何清除画布以进行重绘
相关文章:
- 获取给定JavaScript范围内的解析函数
- 如何使用 JavaScript 隐藏内部类元素
- JavaScript 找到内联元素的 X,Y 以在其旁边设置弹出框
- 最安全的javascript JSON内联技术
- 生成时间戳日期|Javascript范围内的空数据
- 如何在javascript中内联css
- 引用javascript对象内的另一个字段
- 如何获取整个 JavaScript 范围内上次单击的事件数据
- 使用 jQuery 或 JavaScript 设置内联块 CSS
- Javascript 函数内重新定义了未定义的变量
- JavaScript 中内联脚本的替代方法
- Javascript:将内联样式添加到页面中具有特定计算样式属性的元素
- 如何使用 jQuery 或 JavaScript 将内联 SVG 设置为使用 CSS 进行拉伸
- JavaScript:将内置对象的方法作为回调函数传递
- 如何使用 gruntjs 将 javascript 文件内联到 html 页面中
- 如何将我的javascript从内联更改为外部文件
- Angular ng点击在Javascript引号内不起作用
- 检查数字是否在javascript范围内
- 懒惰加载JavaScript和内联JavaScript
- 像alert()这样的声明方法是否会覆盖Javascript中内置的alert()方法?