Пользовательские дополнения

На главную


GetPosConverterParams( self )

Возвращает параметры окна игры. См. также: EVENT_POS_CONVERTER_CHANGED.

Существует две системы координат экрана игры - виртуальная и реальная. Обе начинают отсчёт с нуля, от верхнего-левого угла клиентской области окна (а в полноэкранном режиме - экрана), обе используются для указания местоположений и размеров виджетов. Виртуальные единицы существуют специально для позиционирования виджетов, поэтому, они используются наиболее часто - по ним позиционируются виджеты, позиционируемые по WIDGET_ALIGN_LOW, WIDGET_ALIGN_HIGH, WIDGET_ALIGN_CENTER, WIDGET_ALIGN_BOTH. Реальные (абсолютные) единицы используются крайне редко, только для тех виджетов, которые позиционируются по WIDGET_ALIGN_LOW_ABS.

Текущий виртуальный размер окна - по одной из осей равен базовому размеру окна, а по другой варьируется, в зависимости от пропорций окна (или экрана). Например, если пропорции окна шире чем 5:4, то виртуальная высота будет равна 1024, а ширина будет рассчитана относительно высоты, и в данном случае, будет превышать 1280. И наоборот, если пропорции окна уже 5:4, то виртуальная ширина будет равна 1280, а виртуальная высота будет рассчитана относительно ширины, и будет превышать 1024.

Реальный размер окна - размер в реальных пикселях операционной системы.

Базовый размер окна - это константы (1280x1024), используемые для рассчёта виртуального размера окна. Виртуальные ширина и высота окна никогда не бывают меньше этих базовых величин.

-- класс
WidgetsSystemSafe

-- семантика
function GetPosConverterParams( self )

-- входные параметры
нет

-- возвращаемое значение:
таблица с полями:
 fullVirtualSizeX: number( float ) - текущий виртуальный размер окна по X
 fullVirtualSizeY: number( float ) - текущий виртуальный размер окна по Y

 realSizeX: number( float ) - реальный размер окна по X
 realSizeY: number( float ) - реальный размер окна по Y

 referenceVirtualSizeX: number( float ) - базовый виртуальный размер окна по X
 referenceVirtualSizeY: number( float ) - базовый виртуальный размер окна по Y

-- пример
local posConverter = widgetsSystem:GetPosConverterParams()

LogInfo( "fullVirtualSizeX: ", posConverter.fullVirtualSizeX )
LogInfo( "fullVirtualSizeY: ", posConverter.fullVirtualSizeY )
LogInfo( "realSizeX: ", posConverter.realSizeX )
LogInfo( "realSizeY: ", posConverter.realSizeY )
LogInfo( "referenceVirtualSizeX: ", posConverter.referenceVirtualSizeX )
LogInfo( "referenceVirtualSizeY: ", posConverter.referenceVirtualSizeY )

При резолюции экрана 1920x1200, в полноэкранном режиме, результат будет такой:

fullVirtualSizeX: 1638.4001464844
fullVirtualSizeY: 1024
realSizeX: 1920
realSizeY: 1200
referenceVirtualSizeX: 1280
referenceVirtualSizeY: 1024

Search: "CategoryWidgetsSystem"

CategoryWidgetsSystem
EventPosConverterChanged
EventUpdateShrinkRatio
FunctionWidgetsSystemGetImeSelectorInfo
FunctionWidgetsSystemGetPosConverterParams
FunctionWidgetsSystemGetStyle
FunctionWidgetsSystemGetTextureSize
FunctionWidgetsSystemSelectImeText
FunctionWidgetsSystemSetShrinkRatio


CategoryLuaApi CategoryFunction CategoryWidgetsSystem

На главную