[AHK-] 模擬器格鬥遊戲一鍵必殺 (方向性無解?)

看板EzHotKey作者 (きっと萌えられる)時間16年前 (2009/12/29 00:10), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
新手獻曝 <(__;)> 沒想到遊戲按鍵所牽涉到的問題還滿複雜的 也跟很多基本操作有關,組合鍵的情形真是無所不在。 這篇不敢說一定正確,測試上是有成功,只是堪用。 例子: 41236 + k (一般的說法 ?) 測試環境: win32 emu_segaMD_gens 2.14 ... ok! 方向鍵設置:左下右上 = asdw ; 拳頭 = k *修正:應該用 sendINPUT ; 時間軸 z:: ; sendINPUT {a down} ; a-- sleep 34 ;a --34ms-- sendINPUT {s down} ; --(a+s)-- sleep 34 ;as as--34ms-- sendINPUT {a up} ;as - a = s --(as -s)-- sleep 34 ;s s--34ms-- sendINPUT {d down} ;s + d = sd --(s + d)-- sleep 34 ;sd sd--34ms-- sendINPUT {s up} ;sd - s = d --(sd -s)-- sleep 34 ;d d--34ms-- sendINPUT {k down} ;d + k --(d + k)-- sleep 34 ;dk dk--34ms-- send {d up} ;dk - d = k --(dk -d)--k-- send {k up} ;k -k =沒了 --(k - k)--end 時間軸串起來看: a--34ms--(a+s)--as--34ms--(as-s)--s--34ms--(s+d)--sd--34ms-- --(sd-s)--d--34ms--(d+k)--dk--(34ms)--(dk-d)--k--(k-k)--結束。 查詢的關鍵字發現簡體多叫 "一鍵必殺" 才知道用 send hold 之後再一起 sleep 可以視為組合鍵? *改用 sendINPUT 像是 sendINPUT {y down}{u down}{i down} sleep 1000 sendINPUT {y up}{u up}{i up} 據說可以視為 "yui 同時壓下1000ms" *但我想如果是 send 送出之後,yui之間會有很小的時間差吧 微秒時間的設定應該也跟模擬器的 frame 有關 對 60fps 來說,每 frame 應該是 1/60 sec = 0.01667 sec 看情形,有些可以到 1 frame ,有些遊戲按鍵動作好像得 2~3 frame 以上才被接受 1ms = 0.001s 所以 2 frame 應該設定 0.017 x 2 = 34ms 才對? 大概就這樣 當然,這樣子只能往右邊轉半圈 有辦法先偵測人物方向,再決定是右半圈還是左半圈嗎? /__\? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.70.173.43 ※ 編輯: nehex 來自: 219.70.173.43 (12/29 14:05)
文章代碼(AID): #1BEDXcX8 (EzHotKey)
文章代碼(AID): #1BEDXcX8 (EzHotKey)