慕粉2022087623
慕莱坞0504193
沐小柒
好像是deltaTime会变大
曼塔特
慕粉1812201798
main函数有没有调用fruitMonitor
慕丝6324622
我明白了。。因为背景图,海葵和果实都是画在一张画布上的,循环的重画,而背景图这个是在之前执行的,所以
重画背景图之后,会使上一次所画的内容被覆盖,相当于“清除”;
慕勒4029813
正确的是什么
小白白很黑
贴出你的代码, 方便大家找原因
eroer
将CSS代码嵌入到HTML代码中就可以了,为什么使用<link>将CSS链接到HTML文件中两个canvas就不重叠?
carons
realwds
qq_花草组合_0
fruitMonitor()
xixi65
js代码虽然不用分号,但是作为有其它语言的共性,敲的时候建议都带上分号
丨木丶小子丨3472992
这个里面涉及到了一个fruit.dead函数,检查一下函数是否存在和创建
Peggy7
_王不留行
你应该是在init里调用的backgrounddraw吧?canvas上后画的会覆盖之前画的,所以要把backgrounddraw移到gameloop里无限循环
慕无忌8983795
看看当时设置的数组个数有没有越界
稚刃
draw 里的blue写成了biue
Youruncle
// 定义一个果实监视函数(目的:为了控制画布中的果实数目在一定的范围内)
function fruitMointor() {
// 初始化果实的数量为0
var num = 0;
// 当果实的数量少于规定的最大值,也就是num的时候执行如下for循环
for (var i = 0; i < fruit.num; i++) {
// 如果果实生命存在,即alive = true
if (fruit.alive[i]) {
// 数目加1
num++;
}
}
if (num < 15) {
// 调用sendFruit函数
sendFruit();
return;
}
}
function sendFruit() {
// 当果实的数目小于规定的数目,则一个一个的增加
for (var i = 0; i < fruit.num; i++) {
// 如果i标记的果实死亡
if (!fruit.alive[i]) {
// 传入i对应的果实,让它出生
fruit.born(i);
return;
}
}
}
i在这里其实有一个标记作用,相当于每一个果实都有一个ID号一样
qq_硬汉子_0
果实出屏幕的判断用循环 单个判断
小黑000
初始化方法中this.fruitType="";这一块写了,少些一个[i],应该是this.fruitType[i] ="";
迷途羔阳tua3633018
我照着老师的写的,刚刚试了下火狐、谷歌、IE、Opera都没问题,应该不是兼容性的原因,或者你看看变量名有没有写错,比如deltaTime,或者写漏了什么,我之前就写少了个window对象
function gameloop () {
window.requestAnimFrame(gameloop);
var now = Date.now();
deltaTime = now - lastTime;
lastTime = now;
...
}
用户198822
最好是把代码贴出来,这样别人才好帮你
张辉楠
fruit是在main.js里面new的一个类,就是果实类,有个fruit.js。你仔细看看视频。
慕粉4189368
ctx2.drawImage(this.pic,this.x[i]-this.l[i]*0.5,this.y[i]-this.l[i]*0.5,this.l[i],this.l[i]);
去掉pic前面的.this
追风逐日
num只是属性,需要时可以直接调用。
新手回答。。
微微落
ctx2.drawImage(this.orange,this.x[i]-this.l[i]*0.5,this.y[i]-this.l[i]*0.5,this.l[i],this.l[i]);
把this.orange改成pic
qq_忧伤的小丑_03534958
你只把fruittype设置为空字符串了,没有加random进行随机取值并用if加颜色
java家洼
这是变量提升吧,相当于
fruitObj.prototype.draw = function(){
var pic;
for(var i=0;i<this.num;i++)
{ ...
ctx2.drawImage(pic,this.x[i]*this.l[i]*0.5,this.y[i]-this.l[i]*0.5,this.l[i],this.l[i]);
...
}
}
drawImage在fruitObj.prototype.draw的内部,可以访问到fruitObj.prototype.draw的局部变量,所以就可以访问到pic
人生若只如初见2015
还是仔细看下,肯定哪里出错了,因为我没有遇到这个问题,不知道哪里。