메뉴 건너뛰기

창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳

-- 안드로이드/iOS 등등의 터치스크린 입력을 받는 기기에서는 총 3가지의 콜백 함수를 사용한다:

-- love.touchpressed / love.touchmoved / love.touchreleased

-- 다만 위 3가지 함수는 마우스 클릭으로는 발생하지 않으므로 추가적인 처리가 필요하다.


-- 아래의 코드는 터치 입력을 touches{} 테이블에 저장한다.

-- touches[id] = {x, y, 눌린 시간}

-- 새로운 테이블 키를 추가하는 식으로 여러가지 정보(맨 처음에 눌린 위치 등)를 추가적으로 처리할 수 있다. 


local touches = {}


function love.load()

    count = 0

end


function love.draw()

local k, v

for k, v in pairs(touches) do

love.graphics.print(tostring(k) .. ":" .. math.floor(v[1]) .. ":" .. math.floor(v[2]) .. ":".. math.floor(v[3]), v[1], v[2])

end

love.graphics.print(count, 0, 0)

end


function love.touchpressed( id, x, y, dx, dy, pressure )

touches[id] = {x, y, 0}

count = count + 1

end


function love.touchmoved( id, x, y, dx, dy, pressure )

if touches[id] ~= nil then

touches[id][1] = x

touches[id][2] = y

end

end


function love.touchreleased( id, x, y, dx, dy, pressure )

touches[id] = nil

count = count - 1

end


function love.mousepressed( x, y, button, istouch, presses )

if istouch == false then 

love.touchpressed( "mouse", x, y, 0, 0, 1 )

end

end


function love.mousemoved( x, y, dx, dy, istouch )

if istouch == false then

if love.mouse.isDown(1) then

love.touchmoved( "mouse", x, y, dx, dy, 1 )

end

end

end


function love.mousereleased( x, y, button, istouch, presses )

if istouch == false then

love.touchreleased( "mouse", x, y, 0, 0, 0)

end

end


function love.update(dt)

-- 눌린 시간 갱신

local k, v

for k, v in pairs(touches) do

v[3] = v[3] + dt

end

end


제스처를 인식하는 기능 같은 건 없으므로

핀치 줌, 스와이프, 더블탭, 롱프레스 등등의 이벤트를 처리하고 싶으면 직접 인식하는 코드를 짜야 합니다.

분류 :
조회 수 :
20
등록일 :
2020.11.12
00:38:39 (*.47.15.167)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=study&document_srl=818623
List of Articles
번호 제목 글쓴이 날짜 조회 수
125 이쁜 눈나가 유니티 개발 알려주는 재생목록 노루발 2020-11-12 37
» love2d에서 안드로이드 터치 제스처 인식하기 노루발 2020-11-12 20
123 특정좌표를 기준으로 zoom in/zoom out하기 노루발 2020-11-11 58
122 Lua 클래스 만들고 활용하기 노루발 2020-11-06 24
121 Lua 테이블 안에 함수 저장하기 노루발 2020-11-06 28
120 Lua 인수로 nil값이 들어왔을 경우 처리하기 노루발 2020-11-06 36
119 TinyXML의 한계 [2] 똥똥배 2011-12-11 3760
118 cocos2d-x 터치와 업데이트 활성화 시키기 똥똥배 2011-10-27 10657
117 중력 처리할때 캐릭터가 낍니다. [2] ㅁㄴㅇㄹ 2012-02-12 1395
116 cocos2d의 가비지 컬렉터 똥똥배 2012-02-07 1963
115 lua와 C의 연동에서 상수(define이나 enum) 값처리 똥똥배 2011-05-25 3449
114 2중 for문을 돌릴 때 [3] 똥똥배 2011-04-06 2539
113 Windows To Go와 R-Studio를 이용한 손실된 데이터 복구하기 노루발 2020-01-30 89
112 DirectX 창모드에서 화면 지워지는 문제 [7] file 똥똥배 2010-12-12 2790
111 조금씩 게임 소스가 완성 되어 가는데요. [2] 짜스터 2010-11-16 2188
110 데이터 축소에 대하여 [2] 짜스터 2010-10-13 2430
109 SRPG을 구현하게 되면 ... [3] 짜스터 2010-10-05 2708
108 문D라이브로 만드는 더블드래곤.. 질문입니다 [4] 하와이안 2009-01-15 5550
107 흥크립트 질문. 글자에 관해서 [1] 에리 2009-03-21 3430
106 C++ 질문 2 [3] A.미스릴 2008-12-22 3565