工作总结20151209

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绘图详解》,尝试绘制星空,出现了一个小问题,如何使绘制的星星不重叠。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值