본문으로 건너뛰기

화면 배율 가져오기 (screen.scale_factor)

선언

local factor = screen.scale_factor()

반환값

  • factor
    숫자형. 현재 기기의 화면 픽셀과 논리 포인트(pt) 사이의 배율입니다.

설명

반환값은 화면의 실제 픽셀 해상도와 논리 좌표계 사이를 변환하는 데 사용합니다.
일반적인 값은 2.0(대부분의 Retina iPhone 및 iPad), 3.0(Plus/Max 계열과 최근의 전면 화면 iPhone)입니다. 최신 iPhone에는 1.0배 비 Retina 화면이 거의 없습니다.
screen.size()와 함께 사용하면 논리 포인트 크기를 계산할 수 있습니다: width_pt = width_px / factor. 이미지 찾기와 색상 추출은 계속 픽셀 크기를 기준으로 하며 UI 기반 포인트 좌표를 처리할 때만 변환이 필요합니다.

예제

-- 픽셀 해상도를 논리 포인트로 변환합니다.
local w_px, h_px = screen.size()
local scale = screen.scale_factor()
local w_pt, h_pt = w_px / scale, h_px / scale

sys.log(string.format("像素分辨率: %dx%d, 倍率: %.1fx, 逻辑点: %.0fx%.0f", w_px, h_px, scale, w_pt, h_pt))

-- 배율에 따라 UI 좌표를 조정합니다.
local x_point, y_point = 100, 200 -- Apple HIG 또는 서드파티 UI 설명에서 가져온 포인트 좌표
local x_px, y_px = x_point * scale, y_point * scale

touch.tap(x_px, y_px)

참고: 위 코드에서는 이 장에서 다루지 않는 함수 sys.log, touch.tap을 사용했습니다.