鸿蒙实战-贪吃蛇游戏-JS全文笔记
时间:2023-03-21 16:11:17
科技观察
更多内容请访问:Harmonyos技术社区https://harmonyos.51cto.com但是我对官方资料中的这个吃蛇的项目很感兴趣。打算再做一遍流程。资料中虽然也有开发过程,但是不完整,没有注释。所以决定自己写之后,总结一下每一步,写个笔记。属于二次创作!开发的程序界面如下。复制代码一次运行,不会超过2h。适合刚刚学习鸿蒙的开发者~喜欢的话不妨收藏一下(≧?≦)?正文1.创建项目1.选择一个JS模板2.定义自己的项目名和包名,以及然后单击finsh3。创建完成后,生成的目录结构如下:由于项目比较简单,所以只需要在红框内的位置编写代码即可。这是项目默认生成的!二、写代码1、导入图片资源在我提供的压缩包里找到图片文件夹,直接复制到项目目录下。2、写一个html页面,先定义标签、内容和资源,然后运行查看结果:SnakeGameScore:
运行后发现样式布局混乱,不过没关系,主要目的运行是为了保证样式和资源不加载。一切加载完成后,调整样式。(测试请到顶部导航栏,点击工具>HVDManager>登录开发者账号>选择P40后面的三角)。3、编写调整样式的css代码,在要调整的样式后面加上对应的类名class="",通过这些类名调用css文件的数据。
分数:确认类名写完后,根据index.css文件中的类名编写css。.container{flex-direction:column;justify-content:center;align-items:center;background-color:white;}.title{font-size:100px;margin-bottom:130px;}.scoretitle{font-size:50px;margin-top:30px;}/*css选择器,逗号代表并列关系,具体百度,因为前端博大精深*/.backBtnup,.backBtncenter,.backBtnleft,.backBtnright{width:100px;高度:100px;margin-bottom:20px;margin-top:20px;border-radius:10px;background-color:black;}.backBtnup{margin-top:80px;}.backBtncenter{margin-left:40px;margin-right:40px;}写完上面的内容,再运行一下。找了一下,只需要对按钮进行处理即可。4、优化按钮想要的效果是方向键的排列方式和键盘的方向一样,所以只需要处理下面三个键。您可以用div标签包装它们并定义一个新属性。 css部分新增代码:.directsecond{flex-direction:row;justify-content:center;align-items:center;}运行测试,发现我们达到了预期的效果。3、写JS代码我们发现现在只有样式,点按钮没有任何反馈,也没有蛇和食物...所以我们接下来写JS代码来解决这些东西,但是不要写作时不要考虑它。你应该先设计再写代码!1.设计思路按钮是点击屏幕触发的,所以必须有点击事件。鼠标点击事件有相应的方法。通过该方法传递不同的参数来区分不同的方向。食物生成随机生成,判断食物如果生成的位置出现在蛇身上,重新生成蛇身的初始化(因为案例比较简单,所以初始位置不随机生成)给定长度,设置一个空数组通过for循环,将x和y的坐标Push到数组中,作为蛇身各个格子的位置。蛇形运动基于每帧重新绘制位置。如果吃水果,头部会立即变长。如果水果没有被吃掉,则去掉尾巴,将head方向指向的下一个位置记录在数组的头部。部分,等待下一个刷新帧,判断游戏结束,撞墙往相对方向移动,形成循环2.方法调用流程图虚线代表if判断,会调用方法只有满足判断条件。3.在index.html文件中编写绑定相应事件的代码(这也是html文件的全部内容)
SnakeGame!--右键-->