신기루님이 알려주신대로 고쳐보고 있는데요. 아직 초보라서 힘들네요.
getRGB #cor #cog #cob 451 421
if #cor >= 240 and #cor <= 256 and #cog >= 240 and #cog <= 256 and #cob >= 240 and #cob <= 256?
toast 모험여관
위의 스크립트가 신기루님이 알려주신 RGB값을 이용해서 변하는 색값을 체크하는 구문인데..
한 부분만 따올때는 저렇게 써먹는걸 알겠습니다.
근데 두 부분 이상의 색값을 체크할때는 어떻게 해야 될지 모르겠더군요.
어설픈 지식으로
var #cor1 0
var #cog1 0
var #cob1 0
var #위치1x
var #위치1y
var #위치2x
var #위치2y
getRGB #cor #cog #cob #위치1x #위치1y
getRGB #cor1 #cog1 #cob1 #위치2x #위치2y
sleep 50
if #cor >= 240 and #cor <= 256 and #cog >= 240 and #cog <= 256 and #cob >= 240 and #cob <= 256?and?#cor1 >= 240 and #cor1 <= 256 and #cog1 >= 240 and #cog1 <= 256 and #cob1 >= 240 and #cob1 <= 256?
요렇게 스크립트를 짰을때 인식을 못하더라구요. 어디가 틀렸고 어떻게 수정해야 될지 궁금합니다!
감사합니다.
getRGB #cor1 #cog1 #cob1 #ax #ay
getRGB #cor2 #cog2 #cob2 #a1x a1y
#so1 = #cor1 + #cog1+ #cob1
#so2 = #cor2 + #cog2+ #cob2
#so3 = #so1 - #so2 - #cc
if #so1 >= 729 and #so3 >= -1 and #so3 <= 1
?
1점 좌표 - #ax ay 2점 좌표 - #a1x #a1y
#cc - 두 점의 RGB 값을 모두 더한 것들의 차.
두 점의 색값을 딸때 두 점의 색값의 차가 동일할 수도 있지만 1씩 차이가 날 수 있기에 저렇게 -1 ~ 1 사이의 범위를 지정해 두면 제대로 인식합니다.
?
두 점의 색값의 차를 알고 싶을땐 위의 식을 응용해서 테스트 하면 구해집니다.
?
:start
getRGB #cor1 #cog1 #cob1 #ax #ay
getRGB #cor2 #cog2 #cob2 #a1x a1y
#so1 = #cor1 + #cog1+ #cob1
#so2 = #cor2 + #cog2+ #cob2
#so3 = #so1 - #so2
?
toast #so3
sleep 3000
?
:end
?
이렇게 하면 각각 색값의 합들의 차를 구하는데, 0,1,-1 의 오차를 포함하니 10번정도 돌려보고 중간값을 취해 #cc에 입력하세요.