====== 터치 패드 입력방법 ======
터치패드로부터 유저 입력이 있었을 경우, 어떤 지점을 눌렀는지 알아내는 명령어에 대하여 설명하겠습니다.
다음은 기본적인 샘플 프로그램입니다.
'
' DEMO FOR CUTOUCH
'
#include “CT18XX”
Dim TX1 As Integer, TY1 As Integer
On Pad Gosub TouchInput ' (1) 인터럽트 선언
Do
Loop
TouncInput:
TX1 = Sys(10) ' (2) 인터럽트 서비스 루틴
TY1 = Sys(11)
Circlefill TX1,TY1,10 ' (3) 터치 지점에 원표시
Return
(1) ON Pad Gosub TouchInput : 터치입력이 발생하면 TouchInput 이라는 라벨로 점프합니다.
(2) 터치입력 인터럽트 서비스 루틴입니다. PAD 입력이 발생되면 이곳을 실행하게 됩니다. Sys 함수로 입력좌표를 읽어옵니다. Sys (10)은 x 축 좌표, Sys(11)은 y 축 좌표입니다.
(3) 해당위치에 원을 표시합니다.
CT1721C 와의 차이점은 다음과 같습니다.
1. Set Pad 명령을 사용할 필요가 없습니다. \\
2. Getpad 함수 대신 Sys 함수를 사용해서 터치좌표를 읽어옵니다.
{{ :ct1820:터치패드_입력방법:ct1721touch.png?nolink |}}
다음은 MENU 명령과 ON PAD 명령 활용법을 쉽게 알 수 있도록 만든 예제 프로그램입니다. 보턴을 누르면 삑
소리가 나면서 보턴이 반전됩니다.
'
' DEMO FOR CUTOUCH
'
#include “CT18XX”
Dim TX1 As Integer, TY1 As Integer
Dim k As Long
CT18contrast 150 ' 이 수치를 변경하면 화면의 Constast 가 조정됨.
On Pad Gosub TouchInput
Menuset 0,2,8,16,87,63
Menutitle 0,13,13,"시 작"
Menuset 1,2,96,16,176,63
Menutitle 1,13,13,"종 료"
Menuset 2,2,184,16,264,63
Menutitle 2,13,13,"재시작"
Low 18
Do
Loop
TouhcInput:
TX1 = Sys(10)
TY1 = Sys(11)
Circlefill TX1,TY1,10
If Menucheck(0,TX1,TY1) = 1 Then
Menureverse 0
CT18beep 20 '키터치음 발생
End If
If Menucheck(1,TX1,TY1) = 1 Then
Menureverse 1
CT18beep 20 '키터치음 발생
End If
If Menucheck(2,TX1,TY1) = 1 Then
Menureverse 2
CT18beep 20 ‘키터치음 발생
End If
Return
{{ :ct1820:터치패드_입력방법:touchinput.png?nolink |}}