• [PhaserJS] 鼠标事件


    鼠标事件

    要想监听事件,需要先调用GameObject的setInteractive方法,该方法会将GameObject传给输入管理器,以便可以响应输入。

    GameObject继承自EventEmitter(eventemitter3),因此具体标准的事件处理方法

    事件管理

    事件方法 描述
    on(event, fn [, context]) 新增事件
    off(event [, fn] [, context] [, once]) 取消事件
    once(event, fn [, context]) 增加一个单次事件
    emit(event [, args]) 触发事件
    addListener(event, fn [, context]) 新增事件
    removeListener(event [, fn] [, context] [, once]) 取消单个事件
    removeAllListeners( [event]) 取消所有事件

    鼠标事件列表

    事件名 描述
    pointerdown 鼠标按下
    pointerup 鼠标抬起
    pointermove 鼠标在游戏对象上移动
    pointerout 鼠标移出游戏对象
    pointerover 鼠标移入游戏对象
    wheel 鼠标在游戏对象上滑动滚轮

    简单示例

    const star = this.add.star(250, 150, 5, 32, 64, 0xff0000, 1);
    star.setInteractive();
    star.on('pointerup', () => {
      console.log('鼠标抬起事件');
    });
    

    完整示例

    class SceneA extends Phaser.Scene {
        constructor() {
            super({
                key: 'SceneA'
            });
        }
    
        create() {
            const star = this.add.star(250, 150, 5, 32, 64, 0xff0000, 1);
            const text = this.add.text(160, 140, '状态', {
                fixedWidth: 180,
                align: 'center'
            });
            star.setInteractive();
            star.on('pointerdown', () => {
                text.setText('鼠标按下');
            }, this);
            star.on('pointerup', () => {
                text.setText('鼠标抬起');
            }, this);
            star.on('pointermove', () => {
                text.setText('鼠标移动' + Math.floor(Math.random() * 100));
            }, this);
            star.on('pointerout', () => {
                text.setText('鼠标移出');
            }, this);
            star.on('pointerover', () => {
                text.setText('鼠标移入');
            }, this);
            star.on('wheel', () => {
                text.setText('滚轮滚动' + Math.floor(Math.random() * 100));
            }, this);
        }
    }
    
    new Phaser.Game({
         500,
        height: 300,
        scene: [SceneA]
    });
    

    在线体验

  • 相关阅读:
    burpsuite抓包-手机端配置
    一个登录页面的测试用例(借鉴他人的,方便查阅)
    ant+jmeter环境搭建
    ant+jmeter(build.xml)亲自试用
    linux监控工具vmstat命令详解(转)
    httpRunner使用小结
    接口自动化测试框架开发总结
    Linux上如何设置nginx开机启动
    如何在Linux Centos上部署配置FastDFS
    Redis的Jedis操作(五)
  • 原文地址:https://www.cnblogs.com/yangyoucun/p/16330214.html
Copyright © 2020-2023  润新知