繁体   English   中英

将CGPoints缩放到更大的显示

[英]Scale CGPoints to a bigger display

因此,几年前,我开发了一款iPhone游戏,该游戏使用CGPointMake数百次调用某些OpenGL。 480当时是横向手机的唯一尺寸,但现在我想支持568点尺寸的显示器。 问题是,事情现在还没有居中,并且屏幕右侧有一个很大的黑色竖线

我想知道再次重写屏幕的最佳方法是不重写这数百个CGPoint调用。 我在想是否可以以某种方式使CGPointMake重载以将每个偏移量(44,0),这将有助于使事情居中。 也许OpenGL有一种方法可以将所有内容向一个方向移动? 我对OpenGL不太熟悉,所以我不确定最好的起点在哪里-任何帮助将不胜感激!

重载CGPointMake听起来对我来说CGPointMake了。 所有这些事件真的只是重点吗? 在这种情况下,您可以编写与屏幕无关的版本:

// Or something similar given your UI orientation and transformations
CGPointMake(CGRectGetMidY([[UIScreen mainScreen] bounds]), someY);

并且因为这很麻烦,所以您可以引入一个宏或一个函数:

CGPoint CGPointMakeHorizontalCenter(CGFloat y) { … }

然后咬紧牙关,编写一个不错的正则表达式,并用对此CGPointMakeHorizontalCenter调用替换所有居中的CGPointMake引用。

(所有这些都假设您只需要使中心居中。实际上,也许您还必须更改一些资产以更好地填充屏幕?我认为您可以拉伸整个较早的渲染代码来填充屏幕,但这看起来很丑陋。 。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM