HTML部分和css部分没有什么需要说的,只需要一个承载图片的img标签即可,给图片设置fixed定位即可(不一定必须得是fixed,只要是能改变位置的即可),另外需要准备四张图片,分别是坦克四个朝向的图片

<img src="imgs/tankU.gif" alt="" id="myTank">
        img {position: fixed;left: 500px;top: 400px;}

js部分(核心代码,思路为判断键盘按下的键,控制图片的src和位置,也可以不改变src,控制图片旋转也行)

        let tank = document.getElementById("myTank");// 获取浏览器可视区域的宽高let bigHei = window.innerHeight;let bigWid = window.innerWidth;//键盘keyCode码---W:87   S:83   A:65    D:68document.onkeydown = function (e) {// 坦克每上下左右移动时,增加或减少5px的偏移量,得到一个新的坐标//坦克上移if (e.keyCode == "87") {tank.src = "./imgs/tankU.gif";if (tank.offsetTop >= 0) {tank.style.top = tank.offsetTop - 5 + "px";}}//坦克下移else if (e.keyCode == "83") {tank.src = "./imgs/tankD.gif";if (tank.offsetTop <= bigHei) {tank.style.top = tank.offsetTop + 5 + "px";}}//坦克左移else if (e.keyCode == "65") {tank.src = "./imgs/tankL.gif";if (tank.offsetLeft >= 0) {tank.style.left = tank.offsetLeft - 5 + "px";}}//坦克右移else if (e.keyCode == "68") {tank.src = "./imgs/tankR.gif";if (tank.offsetLeft <= bigWid) {tank.style.left = tank.offsetLeft + 5 + "px";}}}

经典键盘事件(坦克移动)相关推荐

  1. java 坦克大战画坦克_Java坦克大战部分:画出界面,敌人坦克,我的坦克,不出界,键盘事件【诗书画唱】...

    含很多自己写的个理解和注释,想出的解决,建议,提示,注意事项等方法: package tankeGame; import java.awt.Color; import java.awt.Graphic ...

  2. JavaScript键盘事件经典案例

    JavaScript键盘事件五大经典案例 目录: JavaScript键盘事件五大经典案例 1.什么是键盘事件 2.常用键盘事件 3.常用属性和方法 4.案例 4.1 京东搜索框 4.2 快递单号输入 ...

  3. 我所知道坦克大战(单机版)之使用键盘控制改变坦克位置

    我们发现前两篇文章所造成的坦克,他只能固定一个方向进行移动 那么对于我们来说,一般要么使用鼠标,要么使用键盘控制 那么我们怎么实现这样的方式呢? 实现键盘监听 在java 中我们使用键盘监听的话有两种 ...

  4. java事件处理机制---键盘事件

    此案例实现了画框内圆形在按下 上下左右 时圆形的移动 事件源:产生事件的对象,如:键盘.鼠标等 事件:在事件源上产生了某种变化.如:键盘被按下等 键盘事件监听需要实现 implements KeyLi ...

  5. selenium+Python(鼠标和键盘事件)

    本篇总结了 web 页面常用的一些操作元素方法,可以统称为行为事件 有些 web 界面的选项菜单需要鼠标悬停在某个元素上才能显示出来(如百度页面的设置按钮). 1 简单操作 1.点击(鼠标左键)页面按 ...

  6. Python - selenium_WebDriver 鼠标键盘事件

    from selenium import webdriver #引入ActionChains类 提供了鼠标的操作方法 from selenium.webdriver.common.action_cha ...

  7. jquery 组合键键盘事件

    jQuery处理键盘事件,比如小说网站中常见的按左右键来实现上一篇文章和下一篇文章,按ctrl+回车实现表单提交,google reader和有道阅读中的全快捷键操作... 本文讲述jQuery处理按 ...

  8. 使用中文输入法时对键盘事件的处理

    最近很久没有更新博客了,不是没有东西写,而是没有时间写.公司项目上事情比较多,又在工会谋了份差事:家里房子装修,尽管有老爸盯着,但很多时候还是要自己跑来跑去.所以有时候有了写博客的想法,却老是坐不下来 ...

  9. c语言windows程序设计 - 第十天,C语言Windows程序设计 - 第十天 - 响应键盘事件...

    响应键盘事件 ------------------------ 在开始学习有关键盘事件的知识前首先来看一段代码(回调函数这部分的代码): 1 LRESULT CALLBACK WndProc( HWN ...

最新文章

  1. Spring Boot 2.0 新特性和发展方向
  2. python的烦恼_还在为每天忘记签到而烦恼吗?python来帮你搞定!
  3. selenium java 断言_Java+Selenium+Testng自动化测试学习(三)— 断言
  4. 让 .Net 更方便的导入导出Excel
  5. SQL Server查询结果中添加自动编号
  6. 微服务架构与组件总览
  7. php查询变量类型,php判断变量类型常用方法
  8. Java8 Optional类
  9. 一 前端基础,http协议,form表单
  10. JavaScript异步加载与同步加载
  11. Sublime Text 3 汉化
  12. 【软考】《希赛教育·软件设计师考前冲刺与考点分析》计算机硬件基础知识——学习笔记
  13. 给EditText的drawableRight属性的图片设置点击事件
  14. jquery实现同时展示多个tab标签+左右箭头实现来回滚动
  15. 香农辅助定理、KL散度和Jensen不等式
  16. 360与腾讯之争,作为程序员,是愿意自己的项目进入市场得到些成功就被腾讯抄袭,还是软件刚一发布出去,就被360查杀?
  17. AOSP AOKP CM
  18. 什么是中台,为什么要中台?一篇文章带你了解中台的概念!
  19. php实现word文档在线浏览功能,配置安装手记
  20. EIGRP优化—末节路由简介

热门文章

  1. Node.js 入门教程 6 V8 JavaScript 引擎
  2. 遥感影像16位转8位
  3. centos 7 32位下载地址
  4. 一次性搞懂 PHP 中面向对象的所有知识点。
  5. 26-时尚精品服饰网店响应式网页模板 (HTML css JavaScript)
  6. 串联系统与并联系统可靠性计算
  7. HTTPS协议握手过程见解
  8. ABCDE-入栈,不可能的出栈次序
  9. Weblogic学习(一) 开发模式与生产模式
  10. RAM、ROM、内存、存储、外存、硬盘的理解