use*_*776 2 cocoa-touch objective-c uiviewcontroller ios
我想在iPad上创建一个双人游戏,但我真的不知道我该怎么做才对.我的概念就像两个玩家游戏的"水果忍者"(一个与其他游戏).
我的意思是一个玩家将在viewcontrollerA中玩,另一个玩家将在viewcontrollerB中玩(这应该是viewcontrollerA的颠倒).
我该怎么办?我是否需要创建两个视图控制器并通过控制器包含显示,或者还有另一种更好的方法吗?谢谢!
在iOS5中,控制器有一种幸运的方式来接收定向事件,添加/删除回调,并将它们正确地插入到响应器链中.所以如果你打算这样做,这是最好的方法.只要你不做傻事,比如将相同的视图添加到两个UIViewControllers就可以了.
为什么这样?我看到逻辑将游戏引擎放在主控制器上,编写客户端,将该客户端封装在子视图控制器上,并将其重用于两个玩家.
如果您觉得需要这样的东西,也可以使用嵌套控制器来封装复杂性.示例:一个用于与游戏引擎通信的界面,另一个用于屏幕从引擎获取事件.
UIViewController包含很容易.您需要阅读6种方法并了解所谓的方法.欢迎您阅读文档,但简而言之:
addChildViewController:添加子视图控制器.您还需要手动添加子视图:[self.view addSubView:chieldVC.view];.removeFromParentViewController 删除子视图控制器.transitionFromViewController... 替换视图或将视图移动到前面.willMoveToParentViewController:自动调用addChildViewController:.只有在要删除时才调用它(传递nil表示控制器变为孤立状态).仅在需要自定义代码时才覆盖它.didMoveToParentViewController:您必须addChildViewController在动画完成后调用它(或者如果没有动画立即调用它).automaticallyForward....仅当您手动要转发旋转和外观调用时,才覆盖并返回NO.例如,要将一个控制器嵌套在另一个控制器中,请将子视图添加为常规视图,并按以下顺序调用addChildViewController:和didMoveToParentViewController:
// from the parent view controller
ChildViewController *child = [ChildViewController new];
[self addChildViewController:child];
[self.view addSubview:child.view];
[child didMoveToParentViewController:self];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6740 次 |
| 最近记录: |