iOS 棋盘游戏架构
Posted
技术标签:
【中文标题】iOS 棋盘游戏架构【英文标题】:iOS board game architecture 【发布时间】:2012-07-08 13:50:35 【问题描述】:我即将将我的五合一客户端移植到 ios 平台。最初我是用Java设计的。有 15*15 个字段需要显示。在 PC 上,我用单独的对象表示字段,这些对象只对自己负责(事件处理等)。我不确定在移动平台上做同样的事情是否是个好主意(我的意思是使用 225 个手势识别器听起来不太有希望)。还有另一种方法将所有这些字段合并到一个大视图中,该视图通过对屏幕坐标进行一些数学运算来负责绘图和事件处理。我个人更喜欢第一种方法,因为它更基于 OO。你认为,如果性能是主要的,我应该在 iOS 上更喜欢哪一个?提前致谢!
【问题讨论】:
【参考方案1】:如果性能是主要的,您可以使用自定义绘制视图,使用UIGestureRecognizer 获取 CGPoint 并仅重绘使用UIView 影响的区域(正方形):
- (void)drawRect:(CGRect)rect
做这个数学很简单。
但是,根据控件和每个单元格的复杂性,该代码可能难以维护。创建一个带有子视图的分层控件,其中每个子视图负责它如何绘制、处理手势等……更易于维护,代码最终会更干净。会不会有更多的开销?是的。这会是个问题吗?可能不会。因此,您需要尝试并测量。使用子视图创建聚合视图是很常见的,每个子视图都知道如何绘制和处理手势——这就是可可触摸的全部意义所在。
【讨论】:
我会尝试一下,并像在 Java 中那样实现它,而这些字段有一些非常复杂的行为!谢谢!以上是关于iOS 棋盘游戏架构的主要内容,如果未能解决你的问题,请参考以下文章