1. 程式人生 > 實用技巧 >手機投屏之使命召喚

手機投屏之使命召喚

手機投屏之使命召喚

  • 日常生活中,總是有那麼一段時間很閒,這個時候喜歡打遊戲的你一般會選擇怎麼做呢?可能你身邊有電腦,但是電腦連lol都帶不動啊,低頭看看自己的手機,但回頭一想自己玩遊戲的姿勢,怎麼都不像一個盡職盡責的打工人啊。頭疼之餘我百度了一下,哦~,竟然還有這樣的神器—QtScrcpy,使用該專案大概邏輯就是,手機投屏到pc,然後鍵盤滑鼠模擬觸控到螢幕,其中可能稍微有點延遲;最後記得利用好WIN+D或ctrl+win+→鍵哦(防止偷窺)。

準備工具

  • 硬體:安卓手機、資料線、PC
  • 軟體:QtScrcpy

使用步驟

  1. 手機連線電腦,記得開啟除錯模式。
  2. 將自己的指令碼檔案匯入:QtScrcpy-win-x64-v1.4.5\keymap資料夾,如有需要可自行修改,修改方法見下文。

    3.啟用指令碼,記得點~鍵切換指令碼模式哦,不然按鍵無法對映。
  • 注:完整檔案包見最後

部分程式碼

 {
            "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座標,可進行相應的按鍵修改,如下圖。

自定義按鍵對映說明

按鍵對映檔案為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處

其他

  • 我的使命召喚按鍵位置截圖,如需使用我的指令碼檔案需配置好按鍵位置。
  • 手遊中一些重要的設定
  • 完整檔案(含指令碼,指令碼在源和平精英專案上進行的修改,多餘的可以忽略,留做後面吃雞模式備用)下載地址:windows版