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

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

难度中级
时长 2小时34分
学习人数
综合评分9.50
139人评价 查看评价
9.6 内容实用
9.5 简洁易懂
9.4 逻辑清晰
终于分析完了,有兴趣的可以来这看看,有源码,有效果展示,也有我的一些小分析。地址:https://github.com/CruxF/IMOOC/tree/master/HTML5?1533109391385
终于分析完了,有兴趣的可以来这看看,有源码,有效果展示,也有我的一些小分析。地址:https://github.com/CruxF/IMOOC/tree/master/HTML5?1533109391385
终于分析完了,有兴趣的可以来这看看,有源码,有效果展示,也有我的一些小分析。地址:https://github.com/CruxF/IMOOC/tree/master/HTML5?1533109391385

最新回答 / 慕丝6324622
我明白了。。因为背景图,海葵和果实都是画在一张画布上的,循环的重画,而背景图这个是在之前执行的,所以重画背景图之后,会使上一次所画的内容被覆盖,相当于“清除”;

最新回答 / 慕妹5034279
大鱼的动作也可以使用deltaTime只是使用deltaTime是为了保持匀速运动的效果而大鱼的运动使用lerpDistance()方法,大鱼位置越趋近于鼠标位置速度就越慢,本来就是变速运动,不用deltaTime也可以

最新回答 / 慕移动9181930
怎么个意思,妹妹,台湾还有ie8?你也需要做兼容?源码已经有共享啦~\(≧▽≦)/~,在最后一章最后一节就能看到咯
背影图显示在一个Div里就好了,不必每次都重绘,内存开销太大了。

最赞回答 / 前端工程师666777888
fruitObj.prototype.draw=function () { 
ctx2.clearRect(0,0,canWidth,canHeight);//加上这句就行了
for(var i=0;i&   this.num;i++){
    //    draw
    //    find a ane,grow,fly up
        if(this.l[i]&e;
=14){
    ...
默认生成的鱼,头是向左的,在Canvas坐标里面的角度,这个水平向左就是1 * Math.PI(180度位置)。所以鱼自身的角度实际是多了一个Math.PI,也就是什么都不做就自带180度。

计算鼠标与鱼的夹角beta后,必须再减去原来多出来的一个PI(实际上就是让鱼头先旋转回0度,或者说减回180度)。

在那个lerpAngle函数做判断,不如直接在计算beta值(夹角)时减去一个PI。

var beta = Math.atan2(deltaY, deltaX) - Math.PI;

最赞回答 / 洛雁菱
小问题,小问题。粗心没注意console.log(loop);,忘了把loop引起来了。

最新回答 / 洛雁菱
第一种是语法的错误,getContext()是个函数,而context不是,所以不能用。
课程须知
1、对html、css基础知识已经掌握。 2、对JavaScript的基础知识掌握,如数组、类、对象。
老师告诉你能学到什么?
1、html5 canvas制作游戏理念 2、html5 canvas 绘图API 3、游戏中的碰撞检测 4、认识几个数学函数 5、物体池概念 6、序列帧动画的控制

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消