JavaScript怎么实现气球打字游戏
发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,这篇文章主要介绍"JavaScript怎么实现气球打字游戏"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"JavaScript怎么实现气球打字游戏"文章能帮助大
千家信息网最后更新 2025年02月07日JavaScript怎么实现气球打字游戏
这篇文章主要介绍"JavaScript怎么实现气球打字游戏"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"JavaScript怎么实现气球打字游戏"文章能帮助大家解决问题。
一、实现效果
1、定义球的类
气球类中我们需要对26个字符进行处理
this.arr = "abcdefghijklmnopqrstuvwxyz".split("");
生成一个随机字母
this.index = parseInt(Math.random() * this.arr.length);// 定义随机字符this.str = this.arr[this.index];
生成一个div标签并对图片进行处理
// 元素属性this.dom = document.createElement("div");// 图片属性this.img = img;// 图片的宽this.width = this.img.width / 4;// 图片的高this.height = this.img.height / 3;// 图片的背景定位Xthis.positionX = parseInt(Math.random() * 4);// 图片的背景定位Ythis.positionY = parseInt(Math.random() * 3);
关于样式的处理操作
// 设置样式this.setStyle = function() {// 设置元素定位this.dom.style.position = "absolute";this.dom.style.left = 0;// 设置元素的内部文本this.dom[xss_clean] = this.str;// 设置文本样式this.dom.style.lineHeight = this.height * 2 / 3+ "px";this.dom.style.textAlign = "center";this.dom.style.fontSize = "20px";this.dom.style.fontWeight = "bold";this.dom.style.top = parseInt(Math.random() * (document.documentElement.clientHeight - this.height)) + "px";// 设置元素的宽度和高度this.dom.style.width = this.width + "px";this.dom.style.height = this.height + "px";// 设置元素背景图片this.dom.style.backgroundImage = "url(" + this.img.src + ")";// 设置元素的背景定位this.dom.style.backgroundPositionX = -this.width * this.positionX + "px";this.dom.style.backgroundPositionY = -this.height * this.positionY + "px";}
定义一个上树的方法
// 上树方法this.upTree = function() {document.body.appendChild(this.dom);}
我们需要检测气球是否到达浏览器边缘
// 检测气球是否到达边界this.check = function() {// 判断定位left值值是否到达别界if (this.dom.offsetLeft >= document.documentElement.clientWidth - this.width) {// 设置定位值this.dom.style.left = document.documentElement.clientWidth - this.width + "px";return true;}return false;}
定义一个下树的方法
// 下树方法this.boom = function() {this.dom[xss_clean].removeChild(this.dom);}
定义一个移动的方法,其中的数字表示气球移动的速度
// 移动方法this.move = function() {this.dom.style.left = this.dom.offsetLeft + 5 + "px";}
定义初始化的方法并执行
// 定义初始化方法this.init = function() {this.setStyle();this.upTree();}// 执行initthis.init();
创建图片元素
// 创建图片元素var img = document.createElement("img");// 设置路径img.src = "images/balloon.jpg";
气球每隔多少时间生成一个,我们需要设置定时器以及气球到达边界的处理,其中代码中的70
表示每移动70次创建一个气球。
// 定义数组var arr = [];// 定义定时器var timer = null;// 定义一个信号量var count = 0;// 添加事件img.onload = function() {// 初始化气球对象var balloon = new Balloon(img);// 第一个气球也要放入数组中arr.push(balloon);// 赋值定时器timer = setInterval(function() {// 信号量++count++;// 判断信号量if (count % 70 === 0) {// 气球每移动70次, 创建一个气球arr.push(new Balloon(img));}// 循环数组for (var i = 0; i < arr.length; i++) {// 调用move方法arr[i].move();// 调用check方法var result = arr[i].check();// 判断是否到达别界if (result) {// 说明气球到达边界了// 将气球从数组中移除arr.splice(i, 1);// 防止数组塌陷i--;// 清除并接触边界进行弹窗// clearInterval(this.timer)// alert('游戏结束')}}}, 20)
最后就是我们在气球未触到边缘时,通过键盘清除打出对应的字母
// 给document绑定键盘事件_document.onkeydown = function(e) {// 获取用户按下的字符var key = e.key;// 拿着这个key与数组中每一个气球对象的str属性值作比对,如果比对上了,就让气球从数组中移除并且从dom中移除for (var i = 0; i < arr.length; i++) {// 判断if (key.toLowerCase() === arr[i].str.toLowerCase()) {// 调用boom方法arr[i].boom();// 移除当前项arr.splice(i, 1);break;}}}
二、源码仓库和效果
Document
效果:
关于"JavaScript怎么实现气球打字游戏"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
气球
方法
图片
元素
数组
定位
背景
边界
移动
信号
字符
属性
信号量
定时器
样式
事件
对象
文本
处理
打字
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
我的世界服务器计分板一直刷新
湖北和山西的服务器地址一样吗
数据库授权表查询权限不足
服务器加速器
网络安全法国家实行
创新富民 网络安全
5g网络安全管理政策
如何只粘贴复制一级的数据库
数据库触发器实现运算
网络安全认证是干嘛的
云服务器的云是什么
息网络技术的发展特点不包
网络安全零容忍概念
中医药知识数据库
masql数据库的书
b站服务器出现问题
服务器怎么发送封包数据到手机
网络安全教育都有哪些内容
数据库中条件查询
江山串口服务器
群硕软件开发有限公司招聘
手机实名认证网络安全吗
数据库中不同表数据互通
方舟手游服务器管理员怎么用
闽南互联网络科技
目前软件开发的问题
海南网络安全宣传品获奖奖金
开票软件开发票打印机没反应
描述计算机软件开发流程
第二次土地调查数据库下载