Cocos creator 的事件处理(鼠标事件、键盘事件、触摸事件、自定义事件、控制精灵移动Demo)

这篇具有很好参考价值的文章主要介绍了Cocos creator 的事件处理(鼠标事件、键盘事件、触摸事件、自定义事件、控制精灵移动Demo)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

鼠标事件

        //鼠标事件
        this.node.on(cc.Node.EventType.MOUSE_DOWN, (e: cc.Event.EventMouse) => {
            cc.log(e.getLocation() + "")
            if (e.getButton() == cc.Event.EventMouse.BUTTON_LEFT) {
                cc.log("鼠标左键")
            }
        })

键盘事件


//键盘事件
       cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, (e: cc.Event.EventKeyboard) => {
            cc.log(e.keyCode + "")
            if (e.keyCode == cc.macro.KEY.a) {
                cc.log("点击a")
            }
        })

触摸事件

        //触摸事件
        this.node.on(cc.Node.EventType.TOUCH_START, (e: cc.Event.EventTouch) => {
            cc.log("触摸" + e.getLocation())
        })

自定义事件(消息通知)

  • 发送通知(2种方式)
this.node.on(cc.Node.EventType.MOUSE_DOWN, () => {
            cc.log("点击按钮,发送事件1")
            cc.find("human").emit("msg")
        })
this.node.on(cc.Node.EventType.MOUSE_DOWN, () => {
                cc.log("点击按钮,发送事件2")
                let event = new cc.Event.EventCustom("msg", true)
                event.detail = {date: new Date(), text: "hello"}
                cc.find("human").dispatchEvent(event)
            }
        )
  • 接收方
        //自定义事件,例如通知
        this.node.on("msg", (e:cc.Event.EventCustom) => {
            cc.log("自定义事件触发")
            cc.log(e.detail.text)
        })

Demo,控制精灵移动


    isFocus: boolean = false

    speed: number = 50

    start() {
        
        //鼠标(MOUSE_DOWN)、或手指拖拽人物移动
        this.node.on(cc.Node.EventType.TOUCH_START, () => {
            this.isFocus = true
        })
        this.node.on(cc.Node.EventType.TOUCH_END, () => {
            this.isFocus = false
        })
        this.node.on(cc.Node.EventType.TOUCH_MOVE, (e: cc.Event.EventTouch) => {
            if (this.isFocus) {
                this.node.setPosition(e.getLocation())
            }
        })

        //键盘控制人物移动
        cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, (e: cc.Event.EventKeyboard) => {
            if (e.keyCode == cc.macro.KEY.up){
                this.node.y += this.speed;
            }else if (e.keyCode == cc.macro.KEY.down){
                this.node.y -= this.speed;
            }else if (e.keyCode == cc.macro.KEY.left){
                this.node.x -= this.speed;
            }else if (e.keyCode == cc.macro.KEY.right){
                this.node.x += this.speed;
            }
        })
    }

文章来源地址https://www.toymoban.com/news/detail-808831.html

到了这里,关于Cocos creator 的事件处理(鼠标事件、键盘事件、触摸事件、自定义事件、控制精灵移动Demo)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Qt图形视图框架】自定义QGraphicsItem和QGraphicsView,实现鼠标(移动、缩放)及键盘事件、右键事件

    说明 在使用Qt的图形视图框架实现功能时,一般会在其基础上进行自定义功能实现。 如:滚轮对场景的缩放,鼠标拖动场景中的项,以及可以在场景中进行右键操作等。 示例 myitem 为自定义QGraphicsItem,实现了边框、重绘事件、鼠标悬停、按键、右键菜单等功能。 myitem.h myi

    2024年02月04日
    浏览(50)
  • Cocos Creator 定义属性指南(JS和TS)

    目录 简单说明 1.TS写法 2.JS写法 这是一个Cocos Creator 如何定义脚本属性的指南。 我这边整理了两个版本,JS和TS,如果还有其他方式,欢迎您的留言。 对我个人来说,刚开始写枚举和数组的时候会有点不习惯。还经常容易忘记怎么写。 在cocos creator 3.x 中官方主推的是:Type

    2024年02月14日
    浏览(34)
  • [QT/C++]如何得知鼠标事件是由触摸事件转换而来的,使得鼠标触摸事件分离

    依据来源:https://doc.qt.io/qt-5/qml-qtquick-mouseevent.html 具体是在event事件或者mouse系列事件中捕获到鼠标事件后,用如下代码判断鼠标事件是否由触摸事件转换而来的 通过该条件的一律返回,剩下的就是不由触摸事件生成的鼠标事件,由此做到鼠标与触摸事件的分离,使得触摸事

    2024年02月13日
    浏览(39)
  • 【基于Cocos Creator实现的赛车游戏】9.实现汽车节点的控制逻辑

     转载 知识星球 | 深度连接铁杆粉丝,运营高品质社群,知识变现的工具 项目地址: 赛车小游戏-基于Cocos Creator 3.5版本实现: 课程的源码,基于Cocos Creator 3.5版本实现 在上一节的课程中,您已经实现了通过触控给刚体施加里的方式来对汽车节点进行简单的控制。在这一章节中

    2024年02月07日
    浏览(74)
  • Linux输入设备应用编程(键盘,按键,触摸屏,鼠标)

    目录 一 输入设备编程介绍 1.1 什么是输入设备呢?  1.2 什么是输入设备的应用编程?   1.3 input子系统 1.4  数据读取流程 1.5 应用程序如何解析数据 1.5.1 按键类事件:  1.5.2 相对位移事件  1.5.3 绝对位移事件  二 读取 struct input_event数据   本章学习Linux输入设备的应用编程

    2024年02月05日
    浏览(53)
  • “Unity 输入变得简单:触摸事件和鼠标交互指南”

    了解触摸输入: 在 Unity 中,触摸输入是指用户的手指与移动设备、平板电脑或任何支持触摸的平台的屏幕之间的交互。 在Unity中,触摸输入是使用Input类捕获的,该类提供了检测触摸事件的方法。 Unity 支持多种类型的触摸输入,包括: 单点触控输入: 这涉及到单个触摸点的

    2024年04月13日
    浏览(33)
  • 鸿蒙开发笔记(二十六):交互事件--触摸,按键,鼠标,焦点

    交互事件按照触发类型来分类,包括触屏事件、键鼠事件和焦点事件。 触屏事件:手指或手写笔在触屏上的单指或单笔操作。 键鼠事件:包括外设鼠标或触控板的操作事件和外设键盘的按键事件。 鼠标事件是指通过连接和使用外设鼠标/触控板操作时所响应的事件。 按键事

    2024年01月24日
    浏览(47)
  • 【Canvas】在HTML画布上监听鼠标点击或触摸事件

    在做h5 canvas的时候需要注意一点,html网页上用canvas组件在不同平台上交互有时候会失效,需要做兼容处理,那是因为在手机浏览器上的不是鼠标点击,就是屏幕触摸事件. 在PC机浏览器上,都是用点击事件, 需要监听画布上的鼠标点击事件,代码如下, 在手机(可触摸设备)浏览

    2024年02月16日
    浏览(64)
  • Neonode触摸传感器模块之I2C鼠标和键盘

    触摸传感器模块可用于通过I2C向计算机发送键盘或鼠标输入。Arduino Library示例zForceKeyboardMouse中包含了如何实现这一点的示例。该示例使用官方的Arduino库<Mouse.h>和<Keyboard.h>与主机系统通信。 zForceKeyboardMouse代码 触摸传感器模块可以作为空气中解决方案或任何表面放置,为

    2024年01月22日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包