基于JS怎么实现Flappy Bird游戏
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本文小编为大家详细介绍"基于JS怎么实现Flappy Bird游戏",内容详细,步骤清晰,细节处理妥当,希望这篇"基于JS怎么实现Flappy Bird游戏"文章能帮助大家解决疑惑,下面跟着小编的思路
千家信息网最后更新 2025年01月19日基于JS怎么实现Flappy Bird游戏
本文小编为大家详细介绍"基于JS怎么实现Flappy Bird游戏",内容详细,步骤清晰,细节处理妥当,希望这篇"基于JS怎么实现Flappy Bird游戏"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
实现代码
HTML 部分:在此部分中,创建和加载游戏的元素。选择背景、鸟类、障碍和得分元素的图像。接下来,我们创建并链接 style.css 和 index.js 文件。
CSS 部分:在此部分中,根据需要修改游戏对象的大小、位置和样式。
* { margin: 0; padding: 0; box-sizing: border-box;}body { height: 100vh; width: 100vw;}.background { height: 100vh; width: 100vw; background-color: skyblue;}.bird { height: 100px; width: 160px; position: fixed; top: 40vh; left: 30vw; z-index: 100;}.pipe_sprite { position: fixed; top: 40vh; left: 100vw; height: 70vh; width: 6vw; background-color: green;}.message { position: fixed; z-index: 10; height: 10vh; font-size: 10vh; font-weight: 100; color: black; top: 12vh; left: 20vw; text-align: center;}.score { position: fixed; z-index: 10; height: 10vh; font-size: 10vh; font-weight: 100; color: goldenrod; top: 0; left: 0;}.score_val { color: gold;}
JavaScript 部分:此部分包含控制游戏状态和移动对象的代码部分。在本节中必须遵循以下步骤。
在 JavaScript 文件中获取对鸟类和背景图像的引用。
为背景滚动速度、小鸟的飞行速度和重力设置一些值。
创建无限滚动背景。可以从此链接阅读执行此操作的指南。
添加一个事件侦听器来侦听"enter"按键以将游戏状态更改为播放状态,并通过每帧从鸟的 y 坐标减小重力值来将重力应用于鸟。
在视图宽度的末端生成障碍(管道),以便它们最初不可见,但随着背景的移动,将管道的 x 坐标减小背景滚动值,使其看起来像鸟在移动。
应用与地面和管道的碰撞,如果小鸟发生碰撞,则将游戏状态更改为结束状态并显示一条消息以重新开始游戏。
每次在管道之间成功导航后增加分数值。
背景滚动速度
let move_speed = 3;
重力常数值
let gravity = 0.5;
获取 bird 元素的引用
let bird = document.querySelector('.bird');
获取 bird 元素属性
let bird_props = bird.getBoundingClientRect();
部分 js 代码
let background = document.querySelector('.background') .getBoundingClientRect();// 获取对 score 元素的引用let score_val = document.querySelector('.score_val');let message = document.querySelector('.message');let score_title = document.querySelector('.score_title');// 设置初始游戏状态开始let game_state = 'Start';// 为按键添加事件监听器document.addEventListener('keydown', (e) => {// 按下回车键开始游戏if (e.key == 'Enter' && game_state != 'Play') { document.querySelectorAll('.pipe_sprite') .forEach((e) => { e.remove(); }); bird.style.top = '40vh'; game_state = 'Play'; message[xss_clean] = ''; score_title[xss_clean] = 'Score : '; score_val[xss_clean] = '0'; play();}});
读到这里,这篇"基于JS怎么实现Flappy Bird游戏"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
部分
背景
状态
元素
管道
重力
代码
文章
速度
移动
事件
内容
图像
坐标
对象
小鸟
按键
数值
文件
步骤
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
巡更机后台数据库
软件开发上线 sai
现代软件开发诚信服务
软件开发获奖发言
查看邮件服务器ip
苏旗网络技术
日本软件开发公立大学
中邮理财软件开发岗待遇
新化天气预报软件开发
杭州冠美网络技术
网络安全内生机制
一般软件开发怎么付费
2k19服务器关闭怎么联网
证书服务器错误请联系管理员
极速互联软件开发
文件信息传输网络安全
监理三控网络技术
企业网络安全典型案例
2021网络安全发言
互联网科技公司取名三字
邹平包装管理软件开发
关于网络安全的部门规章
微软中国软件开发累吗
濮阳市软件开发公司招聘
计算机引发的重大网络安全事件
服务器文件夹
搜搜搜网络技术搜搜在线
迅网网络技术有限公司
中专读网络技术真的没用吗
怎么开启许可服务器管理员