请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

跟老师代码一样,但是只能绘制出一组铅笔是哪出错了呢

run()
{
    //绘制背景
    this.dataStore.get('background').draw();

    //绘制铅笔前判断
    const pencils = this.dataStore.get('pencils');
    //此时铅笔的右边界恰好移除canvas左边界
    if (pencils[0].x + pencils[0].width <= 0 && pencils.length === 4)
    {
        //将数组中的铅笔移除
        pencils.shift();//上
        pencils.shift();//下
    }

    if (pencils[0].x <= (window.innerWidth - pencils[0].width) / 2 && pencils.length === 2)
    {
        this.createPencil();
    }

    //绘制铅笔
    this.dataStore.get('pencils').forEach(function (value) {
        value.draw();
    });

    //绘制地面
    this.dataStore.get('land').draw();


    let timer = requestAnimationFrame(() => this.run());
    this.dataStore.put('timer',timer);
    //cancelAnimationFrame(this.dataStore.get('timer'));
}


正在回答 回答被采纳积分+3

3回答

Echolulu 2018-08-17 10:30:43

我解决了,楼主你log下pencils[0]看下里面的属性有没有写错的,然后再log下pencils[0].x <= (window.innerWidth - pencils[0].width) / 2,看是不是有true

1 回复 有任何疑惑可以回复我~
  • 请问一下如果没有true怎么解决啊  谢谢!!
    回复 有任何疑惑可以回复我~ 2018-09-13 23:09:56
  • 是log pencil.length===2没有true
    回复 有任何疑惑可以回复我~ 2018-09-13 23:11:35
Echolulu 2018-08-16 14:00:33

我也是这个问题,楼主解决了吗0.0

1 回复 有任何疑惑可以回复我~
傅猿猿 2018-05-04 01:14:38

你看看初始化铅笔那块,如果刚刚开始没有正确的初始化,这块代码就算一模一样,也没有判断的必要条件,就是在导演类里初始化铅笔创建那块,对一下

1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信