日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Cocos2D 添加 UIView

發布時間:2023/11/30 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cocos2D 添加 UIView 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

cocos2d是使用繼承于ccnode的結點類型的層。但是我想用一個opengl來繪制,就簡單的情況來說必須得加一個uiview。現轉載如下:

第一部分::

使用Cocos2D開發游戲和應用程序的時候,時常有些功能用系統控鍵很容易就實現,而cocos2d很麻煩,這時候就需要在cocos2D的程序中添加UIView或者UIView的子類。如果需要響應重力感應來支持旋轉,可以向cocos2d程序中添加UIViewController的子類。

方法很簡單:

[[[CCDirector?sharedDirector]?openGLView]?addSubview:[UIView view]];

?

第二部分,轉自人人,目前看不太懂,以后應該用的到

Cocos2d中對UIView的使用

Cocos2d中想使用UIView等UIKit系的控件,最常用常見的方法,就是通過openGLView來做,雖然這個非常簡單,還是簡述下吧。

比如,現在我想在cocos2d中使用UIImageView這個控件,非常簡單,直接上代碼。

?

CGRect frame = [[[CCDirector sharedDirector] openGLView] frame];
_animateImageView = [[UIImageView alloc] initWithFrame:frame];
[[[CCDirector sharedDirector] openGLView] addSubview:_animateImageView];

?

不用了的時候。

?

[_animateImageView release];
[_animateImageView removeFromSuperview];

?

諾,這樣呢,有一個問題,使用的UIImageView若不remove掉的話總是顯示在最上面,再加個Sprite啥的也加不上去。恰好,這次需要的圖比較大(320*480),還想借助UIImageView的動畫功能,這下郁悶了。

怎么樣才能即能讓他順利展示又能再上面添加Sprite或者CCMenu等呢。

?

OK, 直接給出解決方案吧。因為一旦采用openGLView addSubView的話肯定是不行的,那一個解決思路是在openGLView下插入一層View, 同時把openGLView設置成透明的,這樣不就行了。

代碼如下,首先要動的是AppDelegate,在openGLView下加入一層。

?

//Set glView by wordsworth Mar.26
[glView setMultipleTouchEnabled:YES];
glView.opaque = NO;
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);


//add a view by wordsworth Mar.26, in order to insert another view in MainBoardLayer
overView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
overView.opaque = NO;
overView.backgroundColor = [UIColor clearColor];
[overView addSubview:glView];

[window addSubview:overView];

?

最后,把我們的ImageView盡情的寫入openGLView下面吧,這樣在上面加上各種各樣的CCSprite、CCMenu等不用擔心不顯示啦。

?

AppDelegate * delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.overView insertSubview:_animateImageView belowSubview:[[CCDirector sharedDirector] openGLView]];

?

其他的UIKit控件也差不多可以按這個套路來了。

轉載于:https://www.cnblogs.com/baozou/p/3273437.html

總結

以上是生活随笔為你收集整理的Cocos2D 添加 UIView的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。