|
0934404452 發表於 Mar 4, 2016 12:59:50 GMT
你好我是LUA的新手想問一下,當找尋圖片(1.png)有找到時則點擊指定點座標(100,200)該怎麼寫?
|
|
|
AnkuLua 發表於 Mar 4, 2016 13:48:58 GMT
if (exists("1.png")) then click(Location(100, 200)) end
但是不建議直接用絕對座標,換個螢幕比例不同的機器很可能就不會動了 當找尋圖片(1.png)有找到時則點擊圖片(2.png)會比較好
if (exists("1.png")) then click("2.png") end
|
|
|
0934404452 發表於 Mar 4, 2016 14:33:12 GMT
因為我個人要自用,而且我還是出新者想先一步一步來,之後再慢慢改良
|
|
|
路過 發表於 Mar 15, 2016 13:05:50 GMT
existsClick(Pattern("1.png"):targetOffset(100,200))
上一則少一個括號
|
|
|
duu 發表於 Apr 12, 2016 13:16:43 GMT
請問絕對座標的原點在那?
|
|
|
AnkuLua 發表於 Apr 12, 2016 13:19:17 GMT
左上角
|
|
|
duu 發表於 Apr 12, 2016 13:25:36 GMT
|
|
|
duu 發表於 Apr 12, 2016 13:33:35 GMT
if (exists("1.png")) then click(Location(100, 200)) end
但是不建議直接用絕對座標,換個螢幕比例不同的機器很可能就不會動了 當找尋圖片(1.png)有找到時則點擊圖片(2.png)會比較好 if (exists("1.png")) then click("2.png") end 請問有沒有辦法讓絕對座標隨不同設備的解析度不同而自動縮放呢?
|
|
|
AnkuLua 發表於 Apr 12, 2016 13:41:32 GMT
絕對座標是隨不同設備的寬度自動縮放的 但如同前面講的,不建議直接給座標值
遊戲有些圖是向上對齊,有些是向下對齊
|
|
mrau
Junior Member
Posts: 10
|
mrau 發表於 Apr 13, 2017 10:28:05 GMT
不好意恩插問一句, 如一個畫面找到相同圖案, 不用坐標, 可如何指定案那一個圖? 謝謝~
|
|
|
AnkuLua 發表於 Apr 13, 2017 10:43:06 GMT
可以用Region 指定只找哪一個區域 例如在1280x720 橫屏遊戲上,只找右下角
Settings:setScriptDimension(true, 1280) lowerRight = Region(640, 360, 640, 360) lowerRight:existsClick("target.png")
|
|
mrau
Junior Member
Posts: 10
|
mrau 發表於 Apr 13, 2017 19:12:44 GMT
謝大大指教!
|
|
mrau
Junior Member
Posts: 10
|
mrau 發表於 Apr 19, 2017 9:53:28 GMT
大大, 不好意思, 我寫程式只是懂皮毛。 LOWERRIGHT 區域為何是(640, 360, 640, 360)? 640, 360是中心點這我明, 但另一點為何都是640, 360? 如絕對坐標在左上角, 右下角是否1280, 720? 那是否應是 lowerRight = Region(640, 360, 1280, 720)?
其實我想指定一個區域找圖, 我如何得知坐標? 只可大約麼?
|
|
|
AnkuLua 發表於 Apr 19, 2017 10:32:00 GMT
第三個參數是寬度 第四個參數是高度
用任何截圖軟體(例如MWSnap) 都可以知道座標,從左上角(0, 0)開始抓即可
|
|
mrau
Junior Member
Posts: 10
|
mrau 發表於 Apr 19, 2017 11:12:15 GMT
謝謝,明白了! 但我這樣寫, 它說existsClick呢項有錯, 為何呢?
-- ========== Settings ================ Settings:setCompareDimension(true, 853) Settings:setScriptDimension(true, 853)
-- ========== main program =========== wait(2) for i = 1, 999 do playarea = Region(373,64, 165, 140) playarea:existsClick("play.png")
|
|