返回顶部
首页 > 资讯 > 精选 >JavaScript怎么实现气球打字游戏
  • 892
分享到

JavaScript怎么实现气球打字游戏

2023-06-29 20:06:19 892人浏览 八月长安
摘要

这篇文章主要介绍“javascript怎么实现气球打字游戏”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript怎么实现气球打字游戏”文章能帮助大家解决问题。一、实现效果1、定义球的类气

这篇文章主要介绍“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.innerhtml = 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.parentnode.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;}}}

    二、源码仓库和效果

    <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body><script type="text/javascript">// 定义气球类function Balloon(img) {// 定义携带的字符this.arr = "abcdefghijklmnopqrstuvwxyz".split("");// 定义索引this.index = parseInt(Math.random() * this.arr.length);// 定义随机字符this.str = this.arr[this.index];// 元素属性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.innerHTML = 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.parentNode.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";// 定义数组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;}}}</script></body></html>

    效果:

    JavaScript怎么实现气球打字游戏

    关于“JavaScript怎么实现气球打字游戏”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

    --结束END--

    本文标题: JavaScript怎么实现气球打字游戏

    本文链接: https://lsjlt.com/news/326287.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • JavaScript怎么实现气球打字游戏
      这篇文章主要介绍“JavaScript怎么实现气球打字游戏”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript怎么实现气球打字游戏”文章能帮助大家解决问题。一、实现效果1、定义球的类气...
      99+
      2023-06-29
    • JavaScript实现气球打字的小游戏
      目录一、实现效果1、定义球的类二、源码仓库和效果一、实现效果 1、定义球的类 气球类中我们需要对26个字符进行处理 this.arr = "abcdefghijklmnopqrst...
      99+
      2024-04-02
    • C++怎么实现打气球小游戏
      这篇文章主要介绍“C++怎么实现打气球小游戏”,在日常操作中,相信很多人在C++怎么实现打气球小游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++怎么实现打气球小游戏”的疑惑有所帮助!接下来,请跟着小编...
      99+
      2023-06-20
    • C++实现LeetCode(312.打气球游戏)
      [LeetCode] 312. Burst Balloons 打气球游戏 Given n balloons, indexed from 0 t...
      99+
      2024-04-02
    • C++如何实现打气球游戏
      这篇文章主要讲解了“C++如何实现打气球游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++如何实现打气球游戏”吧!打气球游戏Example:Input:[3,1,5,8]Output:...
      99+
      2023-06-19
    • Pygame实战之实现扎气球游戏
      目录导语正文一、准备中二、代码演示三、效果展示导语 ​前几天,有人私信小编: 说陪女朋友在小广场上面逛街玩儿扎气球:结果一个都没扎破,扎心了老铁。 女朋友都要离家出走了~让我给想想办...
      99+
      2024-04-02
    • JavaScript怎样实现打字游戏
      这篇文章主要介绍了JavaScript怎样实现打字游戏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。效果图:需求分析:在char这个div里面显示要输入的字母,大写2、在re...
      99+
      2023-06-06
    • Pygame是如何实现扎气球游戏
      这期内容当中小编将会给大家带来有关Pygame是如何实现扎气球游戏,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。正文下面的扎气球小游戏原型就是路边的扎气球的游戏撒,基于Pygame做的!就准备好射的箭、不...
      99+
      2023-06-22
    • Unity实现弹球打砖块游戏
      本文实例为大家分享了Unity实现弹球打砖块游戏的具体代码,供大家参考,具体内容如下 创作界面记录 摄像机 所需脚本 1射线shexian using System.Collect...
      99+
      2024-04-02
    • javascript猜数字游戏怎么实现
      以下是一个简单的JavaScript猜数字游戏的实现:1. 首先,我们需要生成一个随机数作为答案。可以使用Math.random()...
      99+
      2023-05-13
      javascript猜数字 javascript
    • javaScript实现网页版的弹球游戏
      利用javeScript对象以及方法实现的网页弹球游戏,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> ...
      99+
      2024-04-02
    • JavaScript实现打地鼠游戏
      本文实例为大家分享了JavaScript实现打地鼠游戏的具体代码,供大家参考,具体内容如下 游戏说明: 点击"开始游戏"按钮,在图中随机产生老鼠,老鼠消失前单击老鼠进行击打,打中一次...
      99+
      2024-04-02
    • javaScript如何实现网页版弹球游戏
      这篇文章给大家分享的是有关javaScript如何实现网页版弹球游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下<!DOCTYPE html><html><h...
      99+
      2023-06-20
    • 怎么用html5实现乒乓球游戏
      这篇文章主要讲解了“怎么用html5实现乒乓球游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用html5实现乒乓球游戏”吧!演示地址http://k...
      99+
      2024-04-02
    • 如何用JavaScript模拟实现打字小游戏
      这篇“如何用JavaScript模拟实现打字小游戏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看...
      99+
      2024-04-02
    • JS实现简单打砖块弹球小游戏
      本文实例为大家分享了JS实现打砖块弹球小游戏的具体代码,供大家参考,具体内容如下 使用原生JS写的,还有一点瑕疵。代码直接复制到html就能使用 速度随机的 因为设涉及横向和纵向速度...
      99+
      2024-04-02
    • java实现弹球小游戏
      GUI实现弹球小游戏,供大家参考,具体内容如下 先看一下游戏效果图。 一个简单的Demo。也比较简单,新手试着做一做完善改进。 源代码 import Com.Style.Fo...
      99+
      2024-04-02
    • 怎么用jQuery实现弹弹球小游戏
      本篇内容介绍了“怎么用jQuery实现弹弹球小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本文实例为大家分享了jQuery实现弹弹球小...
      99+
      2023-06-20
    • Python中turtle怎么实现球类小游戏
      本篇内容主要讲解“Python中turtle怎么实现球类小游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中turtle怎么实现球类小游戏”吧!1. 前言turtle (小海龟) ...
      99+
      2023-07-06
    • C语言游戏项目球球大作战怎么实现
      这篇文章的内容主要围绕C语言游戏项目球球大作战怎么实现进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!项目代码  直接进入代码阶段...
      99+
      2023-06-28
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作