为了账号安全,请及时绑定邮箱和手机立即绑定

HTML5小游戏---爱心鱼(上)

难度中级
时长 2小时34分
学习人数
综合评分9.50
139人评价 查看评价
9.6 内容实用
9.5 简洁易懂
9.4 逻辑清晰
drawBackground()要放在ane.draw()前面,就是他们说的要先加载背景图再画图
为什么我在浏览器里面看啥也没有呢???真是疯了
这个·游戏是啥软件做的
有没有那些图片资源呀
为什么我的是柱体形状
我的大鱼绘制没有显示,跟着老师做了2遍了还是不显示大鱼

momObj.prototype.draw = function()
{
ctx1.drawImage(this.bigEye, this.x, this.y);
ctx1.drawImage(this.bigBody, this.x, this.y);
ctx1.drawImage(this.bigTail, this.x, this.y);

}
数学计算那部分,不知道怎么计算的,但也知道是通过正负值的大小来确定旋转方向,老师视频代码产生的值反了,导致尾巴跟随。var detalY=this.y-my; var detalX=this.x-mx; var beta=Math.atan2(detalY,detalX);增加判断鼠标判断保证运行if(mx!=undefined&&my!=undefined){this.x=lerpDistance(mx,this.x,0.9);this.y=lerpDistance(my,this.y,0.9);this.angle=lerpAngle(beta, this.angle, 0.6);}
老师代码缺乏严谨性啊!function lerpDistance(aim, cur, ratio) {var delta = cur - aim; return aim + delta * ratio;}上面代码没有判断aim目标值是否为undefined,在谷歌浏览器调试,发现this.x和this.y为NAN,导致鱼妈妈没画出来解决办法:if(mx!=undefined&&my!=undefined){//鼠标移入画布再执行
this.x=lerpDistance(mx,this.x,0.9);
this.y=lerpDistance(my,this.y,0.9);}
我也是醉了,居然将this.alive[i]数组类型写成this.alive来赋值,导致fruit.alive[i]一直输出undefined,关键是检查时候也视而不见,能力还是不够。
一开始果实怎么也出不来,找了好久都没有发现为什么,不过大家不用怀疑老师的视频(老师的代码没有问题),还是需要注意细节
刚完成这一阶段
要源码的来这里吧
https://github.com/wangpinyuan/Games/tree/master/tinyHeart
我的错误出在 now daletTime lastTime 的赋值
如过你们的一出来就巨大 或者出不来
看看这几个
var lastTime = Date.now();
var deltaTime = 0;
var now = Date.now();
deltaTime = now - lastTime;
lastTime = now;
老师后面没改么?
老师演示的时候也会报错啊,看一半BB什么啊
requestAnimFrame()
我的果实没出来 大神帮帮我
课程须知
1、对html、css基础知识已经掌握。 2、对JavaScript的基础知识掌握,如数组、类、对象。
老师告诉你能学到什么?
1、html5 canvas制作游戏理念 2、html5 canvas 绘图API 3、游戏中的碰撞检测 4、认识几个数学函数 5、物体池概念 6、序列帧动画的控制

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消