cocos2dとUIView(UIKit)との統合でレイヤー階層を調整する、そしてxibも使う
cocos2dとUIView(UIKit)を混在して使いたいとき、
UIViewが一番上に来てしまい使いにくい事が
あると思います(私はそうでした…)
そんなときは、
cocos2d 2.x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
//まずはcocos2dの乗っているViewを取得する UIView* cocosView = [CCDirector sharedDirector].view; //cocosViewを透明にする //初期状態では、透明でないのでとても大事 glClearColor(0.0, 0.0, 0.0, 0.0); cocosView.opaque = NO; //cocos2dの乗っているさらに親のViewをtopViewとして取得する UIView* topView = cocosView.superview; //下に重ねるテスト用にViewを作る UIView *underView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; //一番上のViewに追加 [topView addSubview:underView]; //cocosViewより後ろに送る [topView sendSubviewToBack:underView]; //下に重ねるテスト用にViewを作る UIView *middleView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; //一番上のViewに追加 (並び順 underView cocosView middleView) [topView addSubview:middleView]; //cocosViewを手前に持ってくる (並び順 underView middleView cocosView) [topView bringSubviewToFront:cocosView]; //インターフェースビルダーで作ったViewを追加してあげる(xibファイル) FrontViewController *frontViewController = [[FrontViewController alloc] initWithNibName:@"FrontViewController" bundle:nil]; //普通に追加 (並び順 underView middleView cocosView frontViewController.view) [topView addSubview:frontViewController.view]; |
と言う感じにしてあげるといいです。
超Cool!!
関連している記事:
- cocos2dとUIView(UIKit)との統合
- cocos2dとUIWebView(UIKit)との統合
- ImageViewのState highlightedで落ちる iPhoneのアプリ開発基礎講座 Tip集
- [UIKit]UIAccelerometer
- Unity4.xで、Xcode6に書き出したときにビルドできない問題を回避
←「Xcodeのスニペット(Snippets)をエクスポート、インポートする」前の記事へ 次の記事へ「Xcode活用 codesnipetを使おう!」→