在前面的文章《原生JS实现别踩白块小游戏(六)》中,为大家介绍了实现别踩白块小游戏的js代码中移动效果的方法概述。

下面我们就继续结合源代码中js代码部分,为大家介绍具体的实现方法。

相关js代码如下://移动效果

function move(obj) {

//默认速度与计分

var speed = 5, num = 0;

obj.timer = setInterval(function () {

//速度

var step = parseInt(getComputedStyle(obj, null)['top']) + speed;

obj.style.top = step + 'px'

if (parseInt(getComputedStyle(obj, null)['top']) >= 0) {

CDiv('row');

obj.style.top = -150 + 'px';

}

if (obj.children.length == 6) {

for (var i = 0; i < 4; i++) {

if (obj.children[obj.children.length - 1].children[i].className == 'i') {

//游戏结束

obj.style.top = '-150px';

count.innerHTML = '游戏结束,最高得分: ' + num;

//关闭定时器

clearInterval(obj.timer);

//显示开始游戏

go.children[0].innerHTML = '游戏结束';

go.style.display = "block";

}

}

obj.removeChild(obj.children[obj.children.length - 1]);

}

//点击与计分

obj.onmousedown = function (event) {

//点击的不是白盒子

// 兼容IE

event = event || window.event;

if ((event.target ? event.target : event.srcElement).className == 'i') {

//点击后的盒子颜色

(event.target ? event.target : event.srcElement).style.backgroundColor = "#bbb";

//清除盒子标记

(event.target ? event.target : event.srcElement).className = '';

//计分

num++;

//显示得分

count.innerHTML = '当前得分: ' + num;

}

else {

//游戏结束

obj.style.top = 0;

count.innerHTML = '游戏结束,最高得分: ' + num;

//关闭定时器

clearInterval(obj.timer);

//显示开始游戏

go.children[0].innerHTML = '游戏结束';

go.style.display = "block";

}

//盒子加速

if (num % 10 == 0) {

speed++;

}

}

//松开触发停止

obj.onmouseup = function (event) {

}

}, 20)

}

此段代码就是用于实现游戏区域移动的功能效果。这里我们定义了两个变量,速度speed和分数num,并设置初始值分别为5和0。然后又通过setInterval() 方法设置了一个定时器。在setInterval() 方法中,存在两个参数,第一个参数则是要执行的函数循环体,第二个参数则表示间隔多少毫秒来调用此函数(这里是20毫秒)。

那么在第一个参数的函数中,getComputedStyle(obj, null)['top']方法就是用来实现给main获取设置top属性。

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式,setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

注:

1000 毫秒= 1 秒。 如果你只想执行一次可以使用 setTimeout() 方法。

getComputedStyle()方法返回的是一个CSS样式声明对象。

由于文章篇幅的问题,我们在后期的文章中再继续为大家介绍别踩白块小游戏的js实现方法。

别踩白块html源码,原生JS实现别踩白块小游戏(七)相关推荐

  1. 原生JS实现一个简单的打字小游戏

    原生JS实现一个简单的打字小游戏 利用javascript制作一个简单的打字小游戏 之前写了一个贪吃蛇小游戏好像反响不错 今天我来写一个比贪吃蛇更low更简单的打字小游戏 打字小游戏原理 接下来咋们直 ...

  2. 单机手机消消乐php游戏源码,html5做出叠房子消消乐小游戏代码

    html5做出叠房子消消乐小游戏代码 js代码 // The game configuration var qici = {}; qici.config = { projectName: 'Subar ...

  3. 使用原生JS实现简单版的网页小游戏-贪吃蛇

    今天给大家分享一个游戏,用我们所熟悉的JS实现一个贪吃蛇小游戏,自娱自乐一下 首先先整理一下思路: 点击开始游戏 startpage消失 游戏开始 随机出现食物,出现三节蛇开始运动 上下左右 改变方向 ...

  4. 【原生JS】做一个打字消除小游戏,学习摸鱼两不误

    JS打字消除小游戏 话不多说先看效果! 页面布局: CSS样式: JS文件(重点): 话不多说先看效果! JS打字消除游戏 页面布局: <!DOCTYPE html> <html&g ...

  5. 原生html小游戏,原生JS实现别踩白块小游戏(一)

    对于前端开发人员来说,闲暇之余自己开发个小游戏打发时间,也是对自己基础技术的一种应用考验.那么别踩白块小游戏,相信大家并不陌生,这个小游戏我们可以通过原生js来实现,即便是前端初学者也可以轻松完成. ...

  6. 最新蓝白软件库iappv3源码+内置下载软件

    正文: 最新蓝白软件库iappv3源码+内置下载软件,可设置会员,金币,免费下载权限,远程修改购卡地址公告通知客服信息等. 程序: wwvwd.lanzoux.com/iCgFT0b1lskh 图片:

  7. 【Spring 源码阅读】Spring IoC、AOP 原理小总结

    Spring IoC.AOP 原理小总结 前言 版本约定 正文 Spring BeanFactory 容器初始化过程 IoC 的过程 bean 完整的创建流程如下 AOP 的过程 Annotation ...

  8. 我是大富豪php源码,最全大富豪3.4源码【自用可运营】含23款子游戏+可控制输赢工具...

    最全大富豪3.4源码[自用可运营]含23款子游戏,可用的口袋支付,全套工具 大富豪问题比较多,不是说论坛上的大富豪不能用,只是东西比较散,需要自己拼起来,现在我为大家整理和修复好一套可用的! 可能还会 ...

  9. 常用JS库源码 - store.js源码/underscore.js源码

    常用JS库源码 Store.js源码 "use strict" // Module export pattern from // https://github.com/umdjs/ ...

最新文章

  1. java 跳表_数据结构跳表学习并用Java实现
  2. C++ 常见bug记录(持续记录中)
  3. Hive中实现有序,有序concat拼接,有序集合,hive方法操作命令,与自带方法列表
  4. Python回调函数的实现
  5. thinkphp中mysql添加数据_thinkphp添加数据 add()方法
  6. 电子技术部下半学期第一次培训
  7. 怎么将wmv格式转换成mp4
  8. python 利用matploylib画动态雷达实时显示图
  9. 一个朋友写的诗词收藏
  10. 英特尔全面布局云边协同,夯实医疗云数智创新底座
  11. Windows 10 专业版安装Docker Desktop
  12. Python,海龟作图,闪避球小游戏
  13. 2019.5.11 提高B组 T3 nssl-1322 清兵线
  14. 凉凉!写了个脚本,不小时锁了1W台手机。。
  15. 类ku6未注册域名分享
  16. oracle创建编号函数,oracle函数初次尝试
  17. Swift5.1 语言指南(三) 快速之旅
  18. 12306登录python_基于Python3的12306登录实现
  19. 数学建模 MATLAB MATLAB全局优化算法
  20. 最新版chrome浏览器安装Chrome插件时出现“CRX-HEADER-INVALID“解决方法

热门文章

  1. 讯为4412环境搭建
  2. 阿里斥资百亿参建“中国神网”,5G发展更进一步
  3. 关于h5网站常用的样式设置
  4. 细胞多重分析技术市场现状研究分析报告-
  5. endnote如何导入和导出文献
  6. Chrome批量打开多个网站
  7. 从前端视角看浏览器隐身模式工作原理
  8. 全屏php模板,黑色全屏自适应的H5模板
  9. 蓝桥杯——粘木棍 (C++)
  10. JDK、IDEA等安装详解