我正在嘗試爲我的遊戲製作一個項目滾動條。我決定使用擴展名CCMenuAdvanced
,並且我能夠使用工作按鈕實現工作菜單列表。但是,我不太明白如何在boundaryRect中正確包含我的菜單。我很清楚boundaryRect並沒有讓菜單列表的「界限」部分消失 - 它似乎只負責滾動。接下來的問題是我還需要做什麼才能獲得使用CCMenuAdvanced
的自包含項目列表,當它不再處於邊界時變得不可見且無響應?我是否必須安排追加更新方法來跟蹤各個元素的位置並更改其不透明度和可見性,或者是否有支持的解決方案?使用CCMenuAdvanced - Cocos2d
NSArray *menuItems = [self labelsFromInventory];
CCMenuAdvanced *menu = [CCMenuAdvanced menuWithItems: nil];
for (CCMenuItem *item in menuItems)
[menu addChild: item];
[menu alignItemsVerticallyWithPadding: 10 bottomToTop: NO]; //< also sets contentSize and keyBindings on Mac
//menu.isRelativeAnchorPoint = YES;
menu.position = ccp(30, 40);
[self addChild:menu z:2 tag:101];
menu.scale = MIN ((winSize.width/2.0f)/menu.contentSize.width, 0.75f);
menu.boundaryRect = CGRectMake(menu.position.x, menu.position.y, 190.0, 20.0);
[menu fixPosition];
感謝
啊這很有趣。我很早就考慮過在我的Cocos2d項目中實現UIKit,但我看到的文檔包含太多的開銷,真的值得。不過,我不知道CCUIViewWrapper。現在看看它。你知道有哪些樣本項目試圖實現類似於我要使用這個類的東西嗎?謝謝。 – Lendo92 2012-08-06 02:44:25
特別是,你可以使用這個類來改變UI元素的cocos2d元素嗎?就像將我的CCMenuAdvanced添加到UIScrollView一樣?謝謝。 – Lendo92 2012-08-06 03:24:53
變形是什麼意思?例如,你可以使用包裝來使用CCactions(例如FadeIn,FadeOut等)。至於將CCNodes添加到UIView中,我並不特別確定,因爲我還沒有嘗試過。本能地,我想說,不,這是行不通的,如果僅僅因爲UIView總是在你的GL視圖之上,不管是什麼,並且考慮到你的CCNode的東西是GL ......例如, ,使用UIImageView等來實現這些項目以及使用Interface Builder來設置你的UIItem以適應GL視圖。 – 2012-08-06 13:23:54