蒹葭苍沧
    
    
      慕勒3129595
    
    starObj.prototype.updata = function() {
this.timer = deltaTime
if (this.timer > 50) {
this.picNo += 1;
this.picNo %= 7;
this.timer = 0
}
console.log(this.picNo)
}
加个console.log就会动了不信你试试
      qq_时间倒影_0
    
    不是设置了边界吗?
      大WEB前端工程师
    
    gameloop()这个函数改下,可以试试看
function gameloop(){
setTimeout(gameloop,100);
drawStars();
}
      慕粉4162184
    
    你的drawImage函数写错了,
ctx.drawImage(img1,0,0,this.n*7,7,this.x,this.y,7,7);
      优越感
    
    要么你没定义,要么你定义的没生效
      梧桐_细雨
    
    已经解决了哈
      蹲街角失忆
    
    肯定没有,因为动画是要循环播放的window.requestAnimFrame(gameLoop);使用这个循环,你没有放在gameloop里面就不会重复执行
      smallyu
    
    函数开头记得清零deltaTime
      慕虎7188715
    
    性能方面的考虑
      蔚然、若梦里花开、
    
    
      GreatYoungLee
    
    就是这张图是由 7*7的7张小图片组成,每次只绘制一张就是一帧。整张图是由7帧组成。
      640ll
    
    是不是您的单位写错了
      Sylvia思
    
    if(this.picNo >= 7){
    this.picNo=0;
}
之前是这样来判断picNo的,取得picNo值为0到6,现在换为picNo%7,即得到是picNo除以7后的余数,它们的余数也是0到6,这样就达到了我们的目的——取0到6的数(图片有7个小星星)。
timer的累加是为了延长绘制下一个星星与上一个星星的时间间隔,即上一个星星绘制完,过50s再绘制下一个星星
      Koma_blackstar
    
    应该可以透明,这个影响不大吧,只要不是白色,不和星星颜色相同就可以
      kittywei
    
    deltaTime是时间差,this.timer是时间差的累加,就是时间过了50以后,this.picNo才加1,这样速度就慢下来了。
      iamocean
    
    
      Carrie_IT
    
    我的也是一直都在这个范围
      萌萌的猫猫
    
    this.timer和this.picNo出问题了,想变慢就自己调节,不行回去看2-6和2-7
      x兔子
    
    《javascript权威指南》是讲解js api相对全面的书
搜索 '《javascript权威指南》 pdf'下载一本吧
      等我修炼成魔
    
    加到50毫秒更新一次