好家伙,这篇移动主角

 

我们先来看看一个好东西,

addEventListener() 方法

(他真的很好用)

 

我们直译一下,就叫他添加事件监听器方法

 

而可监听的对象就有很多啦

我们来了解一下

事件类型:

Web浏览器中可以发生很多种事件。如前所述,所发生事件的类型决定了事件对象中会保存什么信息。

DOM3 Events定义了如下事件类型。

口用户界面事件(UIEvent):涉及与BOM交互的通用浏览器事件。

口焦点事件(FocusEvent):在元素获得和失去焦点时触发。

口鼠标事件(MouseEvent):使用鼠标在页面上执行某些操作时触发。

口滚轮事件(WheelEvent):使用鼠标滚轮(或类似设备)时触发。没有被

口输入事件(InputEvent):向文档中输入文本时触发。览器,

口键盘事件(KeyboardEvent):使用键盘在页面上执行某些操作时触发。

口合成事件(CompositionEvent):在使用某种IME(Input Method Editor,输入法编辑器)输人 存在字符时触发。

 

                                        ----来自《JS高级程序设计》

(红包书,JS的新华字典,刚好它也是红的)

 

在这里,我们想让我们的飞机动起来,我会想:

让飞机随着鼠标移动,那么自然就是添加对应的鼠标移动事件了

让飞机在我按下WASD后随之进行上下左右的移动,那么肯定是添加键盘事件

 

行了思路清晰,开搞

1.添加鼠标移动事件监听,

canvas.addEventListener("mousemove", (e) => {
console.log(e.offsetX, e.offsetY);
let x = e.offsetX - hero.width / 2;
let y = e.offsetY - hero.height / 2;
console.log(x,y,hero.widthh);
hero.x = x;
hero.y = y;
})

 

然后来看看效果:

 

 

好家伙,这不是监听的"mousemove"鼠标移动的吗,怎么变成了"click"点击移动飞机

或许因为在F12的页面,又或许是缓存的原因

 我们去到F12中,在刷新键处右键强制清缓存,并且刷新

然后就搞定了

(哇塞,它终于能动了)

Html飞机大战(六):移动飞机的更多相关文章

  1. [置顶] 【cocos2d-x入门实战】微信飞机大战之三:飞机要起飞了

    转载请表明地址:http://blog.csdn.net/jackystudio/article/details/11730601 不过明眼人一看就知道起飞的不是飞机,是背景,相对运动引起的错觉. 1 ...

  2. [置顶] 【cocos2d-x入门实战】微信飞机大战之四:飞机登场咯

    转载请表明地址:http://blog.csdn.net/jackystudio/article/details/11757175 昨天收到了电子工业出版社寄过来的<cocos2d-x游戏开发之 ...

  3. 微信5.0 Android版飞机大战破解无敌模式手记

    微信5.0 Android版飞机大战破解无敌模式手记 转载: http://www.blogjava.net/zh-weir/archive/2013/08/14/402821.html 微信5.0 ...

  4. js 飞机大战

    完整文件及代码可以在网盘下载,下载链接为:https://pan.baidu.com/s/1hs7sBUs 密码: d83x 飞机大战css定义: <style> #container{ ...

  5. java版飞机大战 实战项目详细步骤.md

    [toc] 分析 飞机大战 首先对这个游戏分析,在屏幕上的物体都是飞行物,我们可以把建一个类,让其他飞行物继承这个类.游戏中应有英雄机(也就是自己控制的飞机).敌人.而敌人应该分为打死给分的飞机(就是 ...

  6. 基于Cocos2d-x-1.0.1的飞机大战游戏开发实例(下)

    在飞机大战游戏开发中遇到的问题和解决方法: 1.在添加菜单时,我要添加一个有背景的菜单,需要在菜单pMenu中添加一个图片精灵,结果编译过了但是运行出错,如下图: 查了很多资料,调试了很长时间,整个人 ...

  7. web版canvas做飞机大战游戏 总结

    唠唠:两天的时间跟着做了个飞机大战的游戏,感觉做游戏挺好的.说是用html5做,发现全都是js.说js里一切皆为对象,写的最多的还是函数,都是函数调用.对这两天的代码做个总结,希望路过的大神指点一下, ...

  8. Cocos2d-x 3.0final 终结者系列教程16-《微信飞机大战》实现

    看到cocos2d-x推出了3.1版本号,真是每月一次新版本号,速度. 另一个好消息就是http://cn.cocos2d-x.org/上线了,祝贺!啥时候把我的视频和教程放上去呢?!! . 视频下载 ...

  9. js实例--飞机大战

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title> ...

随机推荐

  1. 使用aggregation API扩展你的kubernetes API

    Overview What is Kubernetes aggregation Kubernetes apiserver aggregation AA 是Kubernetes提供的一种扩展API的方法 ...

  2. WPF开发随笔收录-心电图曲线绘制

    一.前言 项目中之前涉及到胎儿心率图曲线的绘制,最近项目中还需要添加心电曲线和血样曲线的绘制功能.今天就来分享一下心电曲线的绘制方式: 二.正文 1.胎儿心率曲线的绘制是通过DrawingVisual ...

  3. zabbix监控mysql主从同步

    获取主从复制sql线程和I/O线程状态是否为yes #!/bin/bash HOSTNAME="数据库IP" PORT="端口" USERNAME=" ...

  4. RPA应用场景-账套建立

    所涉人工数量5操作频率 不定时 场景流程 1.客户按照项目开设专项财务管理,每个项目需要在初期建立自己的账套: 2.运营专员通过邮件发送账套建立申请: 3.根据申请进入金蝶运维后台,依据规则完成账套建 ...

  5. Kafka KRaft模式探索

    1.概述 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据.其核心组件包含Producer.Broker.Consumer,以及依赖的Zookeeper集群. ...

  6. 卸载office密钥

    一.管理员身份运行命令提示行: 二.命令提示行上输入: cd C:\Program Files\Microsoft Office\Office16 弹出如下内容: C:\Program Files\M ...

  7. Harbor-私有镜像仓库的安装部署

    Harbor 安装条件 官网给出了安装需要的最低硬件和软件的条件:https://goharbor.io/docs/2.0.0/install-config/installation-prereqs/ ...

  8. Java的main函数(命令行传参)

    javac :编译命令 java  :执行命令

  9. 解决linuxdeployqt报错——系统版本过新的问题

    参考文章:https://icode.best/i/45016240865860 目前测试有效 大概你会跳转到这个议题 issues#340 显示这样类似的报错 linuxdeployqt 5 (co ...

  10. led的进化

    1.一个led亮100ns,灭400ns,循环 2.一个led亮2500ns,灭5000ns,亮7500ns,灭10000ns循环 3.以2500ns为变化周期,20000ns为一个循环,每个周期的亮 ...