如何在Delphi XE5下找到解决方案

Pav*_*nad 7 delphi ios firemonkey 2d-games delphi-xe5

我开始在Delphi XE5 for iOS下开发游戏.我对Firemonkey的Resolution功能有疑问.

当我打开屏幕并检查iPhone的分辨率时,我得到320x480.但iPhone 4和5的原生分辨率翻了一番.我在官方Delphi页面上发现FireMonkey通过"Resolution"重新计算屏幕,这是用于Retina显示屏2.

我认为这对于常规应用程序来说很酷,但是当你开始做游戏而你想通过代码操作图像时会带来奇怪的情况.

我的问题是 - 有没有办法找到实际的分辨率值或至少是什么是实际的设备类型(iPhone,iPad?)

谢谢

Pav*_*nad 3

好的,我们找到了答案。

FMX.Platform 单元提供非常重要的数据。

var
 ScreenSvc: IFMXScreenService;
begin
 if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenSvc)) then
begin
   <your code>
 end;
end;
Run Code Online (Sandbox Code Playgroud)

结果值为:

 ScreenSvc.GetScreenSize.X
 ScreenSvc.GetScreenSize.Y  
 ScreenSvc.GetScreenScale
Run Code Online (Sandbox Code Playgroud)