오토핫키 커뮤니티

조회 수 750 추천 0 댓글 3

바람의나라 매크로를 만들어서 사용하고 있습니다.


1~2시간정도 돌아가면  autohotkey unicode 64-bit 작동이 중지되었습니다. 라는 오류가 뜹니다


여기 저기서 오류에 대해 찾아보니  메모리가 쌓여서 작동이 중지 된다고 하시더군요


제가 필요한부분만 짜집어서 배우고 만들다보니까


거의 초보수준이라  해결하기가 쉽지 않네요


return은 잘 넣고 있는데


실시간으로 좌표를 인식해서 불러와야 하기 때문에

loop 안에 gosub으로  이미지 서치해서 좌표를 따내는 명령을 불러옵니다.

gosub이 굉장히 많이 돌아가는 거죠


gosub이 많으면 메모리가 쌓여서  위와 같은 오류가 발생한다고 하신 글을 읽었습니다.


그래서 gosub같은 명령어를 쓰지 않고  함수를 사용하신다고 하셨구요


밑에는 좌표인식 부분만 복사한 내용입니다  x좌표 세자리 y좌표 세자리

0부터 순서대로 이미지와 대조해서 맞는것이 나오면 그 값을 저장하고 다음자리를 검색하는 방식으로 만들었습니다


XXX:
imagesearch, xg, yg, 800, 700, 1000, 800, 좌표\x.bmp
100x=0
loop, 9
{

imagesearch, 100xx, 100xy, xg+20, yg, xg+32, yg+12, *transwhite 좌표\%100x%.bmp
if errorlevel = 1
 {
 100x:=100x+1
 }
else if errorlevel = 0
 {
 break
 }
}

10x=0
loop, 9
{
imagesearch, 10xx, 10xy, xg+28, yg, xg+41, yg+12, *transwhite 좌표\%10x%.bmp
if errorlevel = 1
 {
 10x:=10x+1
 }
else if errorlevel = 0
 {
 break
 }
}

1x=0
loop, 9
{
imagesearch, 1xx, 1xy, xg+37, yg, xg+48, yg+12, *transwhite 좌표\%1x%.bmp
if errorlevel = 1
 {
 1x:=1x+1
 }
else if errorlevel = 0
 {
 break
 }
}

x좌표=%100x%%10x%%1x%
return


YYY:
imagesearch, hx, hy, 800, 700, 1000, 800, 좌표\y.bmp
100y=0
loop, 9
{
imagesearch, 100yx, 100yy, hx+20, hy, hx+32, hy+12, *transwhite 좌표\%100y%.bmp
if errorlevel = 1
 {
 100y:=100y+1
 }
else if errorlevel = 0
 {
 break
 }
}

10y=0
loop, 9
{
imagesearch, 10yx, 10yy, hx+28, hy, hx+41, hy+12, *transwhite 좌표\%10y%.bmp
if errorlevel = 1
 {
 10y:=10y+1
 }
else if errorlevel = 0
 {
 break
 }
}

1y=0
loop, 9
{
imagesearch, 1yx, 1yy, hx+37, hy, hx+48, hy+12, *transwhite 좌표\%1y%.bmp
if errorlevel = 1
 {
 1y:=1y+1
 }
else if errorlevel = 0
 {
 break
 }
}
y좌표=%100y%%10y%%1y%
return



이것을 함수로 표현 한다면


xxx(){

내용}

yyy(){

내용}


이렇게 해도 될까요?


gosub, xxx

gosub, yyy

이건

xxx()

yyy()

이렇게 되는 거겠죠?


정말 모르는게 많다보니 궁금한것도 많고 질문할것도 많네요


다른분들이 올리신걸 읽어보니

함수

function()

이건 function을 호출 하는 것이고

function() 다음에 {}가 바로 오면

function의 내용이 되는 것... 맞나요?



  • 제발등업좀2 2015.09.11 12:39

    function() 

    {

    내용

    리턴  ;써도되고 안써도되구.. 그런다네요 ㅋ

    }

    이렇게하고 알고계신대로..

    function()  요거만써서.. 펑션의 내용을 불러옵니다.


  • fnwj 2015.09.12 16:57

    예를 들면

    function TEXT(a,b,)

    {

    }


    이라고 펑션값을 설정해 주셨으면, 본문에 TEXT(a,b)를 적어주시면 됩니다.

    여기서 a값과 b값은 본문에서 TEXT(1,2)라고 설정했으면

    function에서 a는 1이고 b는 2가 됩니다. 본문에서 a라는 변수와 b라는 변수가 있다고 했을때

    function에서 본문의 변수는 읽을 수 없습니다.


    예를 들어 본문에 a와 b라는 변수를 설정해 주고

    본문에 TEXT(a,b)라고 설정해 줬을 경우에만 function에서 a와 b를 본문에 있는 변수 그대로 쓸 수 있는 겁니다.

  • MC하얀늑대 2015.10.12 19:41

    음.. gosub부분만 말씀드릴께요.

    저도 매클짤때 고섭으로 많이 짰습니다.

    님처럼 그런 애러 떳구요

    그래서 생각한 방법이 함수화키느냐 돌아올 자리가 필요없게 고투로 바꾸느냐 였죠

    함수화는 시간이 오래걸려서

    고투로 바로 노선 변경했습니다.

    매크로 구조상 리턴이 필요없이 바로 다음단계로 넘어가서 거기서 끝나도 되는것들은 고투로 바꿔보세요

    그러면 그런 애러 안납니다 ㅎ


List of Articles
분류 제목 글쓴이 최근변경 추천
자유 히트2는 오토핫키 없을까요 1 매매매핫키 2022.12.07 0/0
자유 히로매크로 사용중입니다. 1 매끄로 2015.03.16 0/0
자유 희한하네요... 2 보득 2015.02.02 0/0
자유 흠냐 오토핫키와 c++ 연관성 34f35 2015.10.09 0/0
자유 흠.. 안녕들 하세요.. 13 폐이니즘 2015.01.16 0/0
자유 흠 gdip 안쓰고도 비활성 이미지 서치가 가능하네요 4 루뽕 2015.11.19 0/0
질문 흑백화를 시킨 후 이미지를 저장 하였습니다. 이후 이... 1 haegu 2018.09.11 0/0
질문 흑백화 이미지서치 참고할만한 글 있나요?? 3 급홍어감별사 2018.07.02 0/0
질문 흑백 비활성 이미지 검색 구현하신 분 계세요? 4 프리 2019.05.23 0/0
자유 후.. 검은거 한번 만들어 볼까 합니다 쟈브 2018.11.14 0/0
질문 후 문의 2번째.. 드립니다......... 4 문의드립니다 2015.06.10 0/0
자유 효율적인 쫄작교체방법이 없을까요? 3 세나블텍 2015.08.06 0/0
질문 활성화된 프로세스 죽이는법 kill 3 리엔니케니스타 2017.03.29 0/0
정보 활성화된 창으로 esc보내는 라이브러리. 1 헐키 2015.06.19 0/0
질문 활성과 비활성의 차이가 무엇인가요~? 1 배고파3000 2018.09.04 0/0
질문 활성 ? 비활성 질문.. 2 아카드 2014.11.04 0/0
자유 확장자 변환기 3 없어돌아가 2015.04.01 0/0
질문 확장모니터에서 controlclick질문드립니다 레나류륜 2016.10.27 0/0
질문 확율을 결과물로 출력중입니다. 특수문자 출력을 못해요 3 가족오락관 2016.11.08 0/0
자유 확실히 오토핫키가... 16 아카드 2014.11.09 0/0
Board Pagination Prev 1 2345678910 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글