蒹葭苍沧
慕勒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毫秒更新一次