zoukankan      html  css  js  c++  java
  • 手机投屏之使命召唤

    手机投屏之使命召唤

    • 日常生活中,总是有那么一段时间很闲,这个时候喜欢打游戏的你一般会选择怎么做呢?可能你身边有电脑,但是电脑连lol都带不动啊,低头看看自己的手机,但回头一想自己玩游戏的姿势,怎么都不像一个尽职尽责的打工人啊。头疼之余我百度了一下,哦~,竟然还有这样的神器—QtScrcpy,使用该项目大概逻辑就是,手机投屏到pc,然后键盘鼠标模拟触摸到屏幕,其中可能稍微有点延迟;最后记得利用好WIN+D或ctrl+win+→键哦(防止偷窥)。
      ro4Dt1.md.png

    准备工具

    • 硬件:安卓手机、数据线、PC
    • 软件:QtScrcpy

    使用步骤

    1. 手机连接电脑,记得打开调试模式。
    2. 将自己的脚本文件导入:QtScrcpy-win-x64-v1.4.5keymap文件夹,如有需要可自行修改,修改方法见下文。
      ro4NXF.png
      3.启用脚本,记得点~键切换脚本模式哦,不然按键无法映射。
      ro4d0J.png
    • 注:完整文件包见最后

    部分代码

     {
                "comment": "趴",
                "type": "KMT_CLICK",
                "key": "Key_Z",
                "pos": {
                    "x": 0.87,
                    "y": 0.92
                },
                "switchMap": false
            },
            {
                "comment": "蹲",
                "type": "KMT_CLICK",
                "key": "Key_C",
                "pos": {
                    "x": 0.80,
                    "y": 0.92
                },
                "switchMap": false
            },
            {
                "comment": "换弹",
                "type": "KMT_CLICK",
                "key": "Key_R",
                "pos": {
                    "x": 0.72,
                    "y": 0.91
                },
                "switchMap": false
            },
                    {
                "comment": "超级武器",
                "type": "KMT_CLICK",
                "key": "Key_4",
                "pos": {
                    "x": 0.91,
                    "y": 0.39
                },
    
    • 其中type为点击的类型,key为按键,pos为鼠标点击位置,善于利用该程序提供的pos坐标,可进行相应的按键修改,如下图。
      ro4am4.png

    自定义按键映射说明

    按键映射文件为json格式,新增自己的按键映射文件需要放在keymap目录中才可以被QtScrcpy识别。

    按键映射文件的具体编写格式下面会介绍,也可以参考自带的按键映射文件。

    按键映射脚本格式说明

    通用说明

    • 按键映射中的坐标位置都是用相对位置表示的,屏幕的宽高都用1表示,例如屏幕的像素为1920x1080,那么坐标(0.5,0.5)则表示的是
      以屏幕左上角为原点,像素坐标(1920,1080)*(0.5,0.5)=(960,540)的位置。或者鼠标左键单击时控制台会输出此时的pos,直接使用这个pos即可

    • 按键映射中的按键码是用Qt的枚举表示的,详细说明可以参考Qt文档(搜索 The key names used by Qt. 可以快速定位)。

    映射类型说明

    • switchKey:切换自定义按键映射的开关键,默认为普通映射,需要使用这个按键在普通映射和自定义映射之间切换。

    • mouseMoveMap:鼠标移动映射,鼠标的移动将被映射为以startPos为起点,以鼠标移动方向为移动方向的手指拖动操作(开启鼠标移动映射以后会隐藏鼠标,限制鼠标移动范围)。
      一般在FPS手游中用来调整人物视野。

      • startPos 手指拖动起始点
      • speedRatio 鼠标移动映射为手指拖动的比例,可以控制鼠标灵敏度,数值要大于0.00,数值越大,灵敏度越低
      • smallEyes 触发小眼睛的按键,按下此按键以后,鼠标的移动将被映射为以smallEyes.pos为起点,以鼠标移动方向为移动方向的手指拖动操作
    • keyMapNodes 一般按键的映射,json数组,所有一般按键映射都放在这个数组中,将键盘的按键映射为普通的手指点击。

    一般按键映射有如下几种类型:

    • type 按键映射的类型,每个keyMapNodes中的元素都需要指明,可以是如下类型:
      • KMT_CLICK 普通点击,按键按下模拟为手指按下,按键抬起模拟为手指抬起
      • KMT_CLICK_TWICE 两次点击,按键按下模拟为手指按下再抬起,按键抬起模拟为手指按下再抬起
      • KMT_CLICK_MULTI 多次点击,根据clickNodes数组中的delay和pos实现一个按键多次点击
      • KMT_DRAG 拖拽,按键按下模拟为手指按下并拖动一段距离,按键抬起模拟为手指抬起
      • KMT_STEER_WHEEL 方向盘映射,专用于FPS游戏中移动人物脚步的方向盘的映射,需要4个按键来配合。

    不同按键映射类型的专有属性说明:

    • KMT_CLICK

      • key 要映射的按键码
      • pos 模拟触摸的位置
      • switchMap 是否释放出鼠标,点击此按键后,除了默认的模拟触摸映射,是否释放出鼠标操作。(可以参考和平精英映射中M地图映射的效果)
    • KMT_CLICK_TWICE

      • key 要映射的按键码
      • pos 模拟触摸的位置
    • KMT_CLICK_MULTI

      • delay 延迟delay毫秒以后再模拟触摸
      • pos 模拟触摸的位置
    • KMT_DRAG

      • key 要映射的按键码
      • startPos 模拟触摸拖动的开始位置
      • endPos 模拟触摸拖动的结束位置
    • KMT_STEER_WHEEL

      • centerPos 方向盘中心点
      • leftKey 左方向的按键控制
      • rightKey 右方向的按键控制
      • upKey 上方向的按键控制
      • downKey 下方向的按键控制
      • leftOffset 按下左方向键后模拟拖动到相对centerPos位置水平偏左leftOffset处
      • rightOffset 按下右方向键后模拟拖动到相对centerPos位置水平偏右rightOffset处
      • upOffset 按下上方向键后模拟拖动到相对centerPos位置水平偏上upOffset处
      • downOffset 按下下方向键后模拟拖动到相对centerPos位置水平偏下downOffset处

    其他

    • 我的使命召唤按键位置截图,如需使用我的脚本文件需配置好按键位置。
      ro4BkR.md.png
    • 手游中一些重要的设置
      ro4w79.png
    • 完整文件(含脚本,脚本在源和平精英项目上进行的修改,多余的可以忽略,留做后面吃鸡模式备用)下载地址:windows版
  • 相关阅读:
    python学习之路基础篇(第八篇)
    python学习之路基础篇(第七篇)
    python学习之路基础篇(第六篇)
    python学习之路基础篇(第五篇)
    python学习之路基础篇(第四篇)
    目标检测——IoU 计算
    MXNet 中的 hybird_forward 的一个使用技巧
    Anchor 的两种编程实现
    我的目标检测笔记
    动手创建 SSD 目标检测框架
  • 原文地址:https://www.cnblogs.com/huxiaobai/p/14201201.html
Copyright © 2011-2022 走看看