思路
1、游戏介绍
通过方向上键让小车移动到随机生成的地板上即可得分,小车移动过高或者过低均会毁坏,在进度到达100%前尽可能地得分。
2、初始地板生成
设置两个总数组分别存放总地板相对于窗口的left和top(可对应x,y坐标),用CSS设置好其他相关样式,通过数组循环设置好每一个地板的坐标然后append即可,数量刚好铺满整个屏幕即可。
3、移动
设置一个定时器,最开始让小车的left增加,到特定left值后不动,让所有的地板的left值减少,直至某一地板离开屏幕即可令该地板停止,两者的相对运动都可表现为小车向右移动。同时,进程增加。
4、生成新地板
设置一个参数,其值为地板的宽度,也随着定时器减少,若为0,此时屏幕刚好少一个地板,则可生成新的地板,并将其坐标添加到两个总数组中。
5、在地板上的判断
在移动中,设置循环让小车的坐标与地板的坐标(存放在两个总数组中)作比较看看是否在规定的范围中(小车x坐标在任意地板的x坐标加上地板宽度,y坐标在地板y坐标减去小车中心到底边的距离,范围可视具体情况调大或者调小,合适即可),需要比较的地板数量只需在屏幕内地板数量即可,防止比较过多太卡。若在地面上即可得分,若不在则下降。
6、跳跃与下降
下降即让小车的top值增加,跳跃既让小车top值减少。下降直至在地板或者毁坏停止,跳跃过高也停止。
7、结束处理
让一切参数回到设定值,如地板的两个总数组,小车坐标,分数,进程等等,并生成结束界面。
截图
获取代码或交流可发邮箱:2690977484@qq.com