love.window.fromPixels (简体中文)

Available since LÖVE 0.9.2
This function is not supported in earlier versions.

把数字从像素单位转换为像素密度无关单位。

窗口内的设备像素可能比窗口的大小更大(或更小)。若在Mac OS X 上的Retina屏幕通过love.window.setMode 启用highdpi ,窗口会占用800x600的窗口大小,但窗口的内部区域使用1600x1200像素。

在这种情况下love.window.fromPixels(1600) 将返回 800


这个函数把以像素为单位的坐标转换为屏幕上点的坐标。love.window.toPixels函数则相反。在Mac OS X 和 iOS平台上,highdpi的window flag必须被启用,以使用Retina屏幕的全像素密度。

这个标志在Windows 和 Linux上不产生影响,但在Android上总是启用的。

大多数的 LÖVE 函数返回值及参数用的是像素单位而不是设备无关单位(DIP)。

Function

Synopsis

value = love.window.fromPixels( pixelvalue )

Arguments

number pixelvalue
要转换成设备无关单位的一个以像素为单位的数字。

Returns

number value
转换后的数字,以设备无关单位为单位。

Function

Synopsis

x, y = love.window.fromPixels( px, py )

Arguments

number px
以像素为单位的横坐标。
number py
以像素为单位的纵坐标。

Returns

number x
转换后的横坐标,以设备无关单位为单位。
number y
转换后的纵坐标,以设备无关单位为单位。

Notes

love.graphics.getWidth, love.graphics.getHeight, love.mouse.getPosition,鼠标事件,love.touch.getPosition,以及触摸事件总是以像素为单位的。

See Also

Other Languages