2017-01-31 1 views
0

내 문제는 특정 영역에서 코드를 실행하는 방법을 모르는 것입니다. 대신 전체 화면을 계속 스캔합니다. 만약 누군가가 그것을 볼 수 있다면 여기에 내 엉터리 코드가 있습니다.스크립트의 영역을 설정하는 방법은 무엇입니까? Sikuli

running = True 

def runHotkey(event): 
global running 
running = True 

Env.addHotkey(Key.F1, KeyModifier.CTRL, runHotkey) 
Settings.MoveMouseDelay = 0 
Region(Region(23,54,731,778)) 
while exists("1485901173411.png") and running: 

    click("1485900597943.png")  
    if exists(Pattern("1485900218788.png").similar(0.95)): 
     type(Key.CTRL + "L") 
     wait(1) 
     type(Key.ALT + Key.ENTER) 
     wait(10) 
    else: 
     click("1485901173411.png") 
     wait(7) 

답변

0

앞에서 말씀 드린대로 검색 영역을 제한하려면 미리 정의 된 영역 내에서 패턴을 찾아야합니다. 지역을 정의하는 방법은 거의 없습니다.

사용하여 좌표 예를 들어

, 당신은 화면의 상단 절반에보고 싶은 경우에 당신이 할 수 있습니다 : 다음

topHalfScreen = Region(x, y, w, h) 

를 실행 한 다음, 여기에

targetPattern = topHalfScreen.find("targetPattern.png") 

getScreen().getBounds().widthgetScreen().getBounds().height을 사용하여 화면 크기를 결정할 수도 있습니다. 꽤 많은

패턴 같은 생각 대신에 당신이 찾은 다음 그 안에 검색 할 하나를 포함하는 패턴을 찾아 화면 영역을 정의하는 사용

. 상대 패턴

다른 패턴의 위치에 따라 패턴을 검색 할 수 있습니다이 방법을 사용하여

. 예 :

initialPattern = find("pattern.png") 
actualRegion = Region(initialPattern.x + x1, initialPattern.y + y1, initialPattern.w + w1, initialPattern.h + h1) 
관련 문제