fdsgasgg
把原来的setInterval替换成下面的代码,利用焦点处理,算是从源头解决的一个方案。
var intervalId = setInterval( //每秒执行30次(粗略的)
function(){
render( context );
update();
}
,
30
);
//获得焦点
window.onfocus = function(){
intervalId = setInterval( //每秒执行30次(粗略的)
function(){
render( context );
update();
}
,
30
);
};
//失去焦点
window.onblur = function(){
clearInterval(intervalId);
}
慕粉萌萌
你没有清除上一次 绘制的圆球吧 cxt.clearRect(0,0,WINDOW_WIDTH,WINDOW_HEIGHT);//指定矩形进行刷新
慕粉萌萌
webstorm
前端_lxr
大空翼God
这个是因为在有些浏览器上,当前标签页不在激活状态,贞动画可能会停止。解决办法可以试试,当前屏幕上的最大小球数量,当超过一定数量的小球时,就不再产生小球。
风子满山
有可能你开启的后台应用太多,比如360之类的大量的杀毒软件,和浏览器发生冲突,我之前也有这样过,也有可能是你的浏览器太久没清理浏览内存导致的,清理下或着重启浏览器就行,如果有用,请采纳!!!谢谢
哦哦哒
可以在updateBalls()函数中添加下述代码:
if (Math.abs(balls[i].vy) < balls[i].g && balls[i].y >= (WINDOW_HEIGHT - RADIUS - balls[i].g))
balls[i].vy = 0;
else
balls[i].vy += balls[i].g;
_小溪
html标签要加height属性,否则显示一半. 另外要改一下endtime的初始化时间.
<html style="height:100%">
const endTime = new Date(2024,3,12,18,47,52);
Hardi
weibo_姑娘不弃不气_0
如果你高中数学学的好,基础的运算一定没什么问题。
如果你线性代数学的好,所有的运算你都没什么问题。
如果你数学不好,那你真的没救了。
zhige
it`s magic ,太厉害了
莫名小晟
Amuxiaomu
可以再学学老师的 Canvas绘图详解
你胖到影响我了
shulei
zjb9017
lechenging
_COLIN_
Histor
又发现一位好老师~~~
我还没有接触js哦,不会改,另外时间原来蓝色的球的颜色怎么改?
http://liuyubobobo.com 您太厉害了,业内高手呀!很是崇拜,这个这个微博是必须关注的,希望老师帮帮忙
大石头_0001
fesh
TeddyBear
tochenlulu
qq_微光_33
如兰
乐逍遥blue
讲大话甩大牙
悠哉
alexLj
古剑吧的武罗崩鸣停止自转