[英]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.