fruitObj.prototype.draw = function(){
for (var i = 0; i < this.num; i++) {
// draw
//find an one,grow ,fly up
console.log(this.y[i]-this.orange.height * 0.5);
ctx2.drawImage(this.orange,this.x[i]-this.orange.width * 0.5,this.y[i]-this.orange.height * 0.5)
}
}
是因为老师将height 写成了 canHeight;
for (var i = 0; i < this.num; i++) {
// draw
//find an one,grow ,fly up
console.log(this.y[i]-this.orange.height * 0.5);
ctx2.drawImage(this.orange,this.x[i]-this.orange.width * 0.5,this.y[i]-this.orange.height * 0.5)
}
}
是因为老师将height 写成了 canHeight;
2017-04-13
最新回答 / 慕婉清9442512
我也有这样原问题,我是在画背景的时候多添加了句代码function drawBackground() { bgPic.onload = function() { ctx2.drawImage(bgPic, 0, 0, canWidth, canHeight); }}改成:function drawBackground() { ctx2.drawImage(bgPic, 0, 0, canWidth, canHeight);}
2017-04-13
最新回答 / qq_七彩虹儿_0
1.html要引用<script type="text/javascript" src="js/main.js" ></script> <script type="text/javascript" src="js/background.js" ></script>2. document.body.onload = game;
2017-04-12
最新回答 / 慕粉4334522
可能原因如下:(1)在game()函数中,先初始化,再调用gameloop()函数,即init()在gameloop()之前调用(2)function gameloop() { window.requestAnimationFrame(gameloop);}我用的是HBuilder,可能requestAnimationFrame()函数名不太一样.
2017-04-11
最赞回答 / 慕粉3988711
大兄弟一看就知道没有看过DOM事件,请翻阅JS高级程序设计第三版将书籍翻到350页仔细研读DOM0级事件处理程序,再将书籍翻阅到362-363页请翻阅13.4.1的UI事件下的load事件,请仔细阅读load事件中的第二句话,否则怎么可能会提出这种“document.body.onload=game?这是什么玩意,跟你这么写完全就调用函数不成功”的奇葩建议。
2017-04-10
最新回答 / 慕移动9181930
也可以,但是从语义上看,还是onclick点击事件更容易理解。注意:numa>numb大于号两边没有空格numa==numb等于两边没有空格,在试一试吆。
2017-04-09
已采纳回答 / callosity_CC3966041
一般是按f12或者右键检查元素,如果是谷歌浏览器的话在右边有三个竖着的点,点一下找到更多工具,然后点开发者工具,浏览器的右边或者下边会出现一个栏,点一下console那个框就可以看到。键盘在CTRL+Shift+I 也可以调出这个栏
2017-04-09
最赞回答 / qq_风龙_0
增加图片加载监听(等待图片加载完),加上bgPic.onload=function(){ctx2.drawImage(bgPic, 0, 0, canWidth, canHeight);}要不就增加页面自动刷新函数,使用setInterval或者requestAnimationFrame,不断调用game函数,但不能使用两者一起使用,会不显示(估计是不断刷新,不断等待图片加载造成图片永远加载中而不显示)
2017-03-26