您的位置:首页 > 其它

工作总结20151209

2015-12-09 17:55 295 查看
1.解决了昨天留下的不能读取数组长度的问题

2.对倒计时项目的性能优化

由于彩球是储存在数组中的,随着运行,数组的长度会越来越长,耗费了内存,为了解决这个问题,需要将已跑出画布外的彩球删除掉,删除画布外元素的方法如下

var cnt = 0;
for (var i = 0; i < balls.length; i++) {
if(balls[i].x + R > 0 && balls[i].x - R < WINDOW_WIDTH){
balls[cnt++] = balls[i];//i>cnt,画布内的被挤在数组前面
}
}
while(balls.length > Math.min(300,cnt)){
balls.pop();
}


重新定义一个变量cnt,每次循环+1,满足条件的i>=cnt,当元素在画布内时,将其挤到数组前面,这样, 这样cnt到之后的元素都在画布外,可以被删除,当需要控制画布内元素数量时,可以用cnt与该值比较,取最小值。

屏幕的自适应问题

WINDOW_WIDTH = document.body.clientWidth;
WINDOW_HEIGHT = document.body.clientHeight;
MARGIN_LEFT = Math.round(WINDOW_WIDTH/10);
R = Math.round(WINDOW_WIDTH*4/5/108)-1;
MARGIN_TOP = Math.round(WINDOW_HEIGHT/5);


在window.onload中重新给变量赋值,使其随实际屏幕大小自适应。

3.看了《canvas绘图详解》,尝试绘制星空,出现了一个小问题,如何使绘制的星星不重叠。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: