본문 바로가기
컴퓨터/오토핫키

오토핫키의 settimer 함수

by 큐브빌드 2021. 3. 21.
반응형

유니티를 하다 보면 update 함수가 존재합니다.

 

제가 개발자가 아니라 정확히는 모르지만 항시 상태 체크를 하고 있는 경우를 이야기하는 것 같습니다.

 

오토 핫키에도 비슷한 개념의 함수가 있었습니다.

 

예를 들면 특정 키를 몇 번 눌렀는지 체크하여 뭔가 반응을 오게 한다거나

 

특정 시간이 되었는지 확인을 한다던가 등...

 

많은 경우가 있습니다.

 

오토 핫키 설명서를 보면 settimer는 이렇게 되어있습니다.

Settimer , 레이블 이름 , 반복 시간 간격(또는 반복 끄기) , 스레드 번호

이렇게 해서 입력할 수 있습니다.

 

얼핏 보면 반복 시간 간격이 0 이면 loop랑 다를 게 없어 보입니다.

 

하지만 테스트를 하다 보면 settimer의 장점은 크게 2가지가 있는 것 같습니다.

1. 다른 코드와 함께 사용할 수 있다.
2. 스레드가 있어서 우선순위를 지정할 수 있다.

그냥 위 장점은 저의 체험에 의한 부분입니다. 펙트 체크는 되지 않았습니다.

 

무슨 이야기인가 하면 예시 코드로 보여드리겠습니다.

 

loop
{
	send , a
}

x::exitapp

settimer , a

a:
{
	send , a
    return
}

x::exitapp

위 2개 코드는 모두 a라는 키를 누르라는 코드입니다.

 

그리고 x키를 누르면 오토 핫키가 종료되는 거죠

 

근데 settimer는 x 키를 한번 탁 누르면 바로 종료가 되는데 loop의 경우는 종료가 안 되는 경우가 간혹 생깁니다.

 

즉 settimer는 다른 코드(?) , 키 입력(?) 등 반응을 loop보다 체크를 잘하는 것 같습니다.

 

그래서 loop보다 settimer를 더 좋아합니다~

 

하지만 loop를 사용해야 될 때도 많습니다. 

 

무엇인가 조건을 만족해야만 진행할 수 있는 조건들의 경우 loop 또는 while 또는 until을 많이 사용하게 됩니다.

 

while , until에 관해서는 조만간 다시 설명드리겠습니다.

 

settimer , a , 1000

a:
{
	send , a
    return
}

x::
{
	settimer , a , off
    return
}

오토 핫키에서는 1000 = 1초입니다.

 

1초 단위로 a 키를 누르라는 코드입니다. settimer는 이렇게 사용합니다.

 

그리고 x키를 누르면 a라는 settimer가 돌아가던 것을 off(끔) 하게 됩니다.

 

이렇게 오토 핫키 settimer를 사용할 수 있습니다.

반응형

댓글