2012-12-31 98 views
0

因此,我正在使用cocos2d並設法使CCScrollLayer水平和垂直工作。然後,我添加(相當大)CCMenuItemImage/Sprite到CCLayer,然後將CCLayers傳遞到滾動層。它工作正常,但問題是,當我從任何CCMenuItem的位置開始移動手指時,CCScrollLayer不會讀取任何觸摸,因此我無法以直觀的方式滾動我的視圖。我該如何解決這個問題?預先感謝您:)當從CCMenuItem位置開始觸摸時,CCScrollLayer不會滾動

回答

0

當我使用CCScrollLayer,我加入的層CCMENU,然後,該層的CCScrollLayer這樣的:

CCLayer *page1 = [[CCLayer alloc] init]; 

那麼一些菜單:

Menu= [CCMenu menuWithItems: item1, nil]; 

然後在該層上的菜單:

[page1 addChild:Menu z:0 ]; 

那麼層到卷軸:

scroller = [[CCScrollLayer alloc] initWithLayers:[NSArray arrayWithObjects:page1,page2,page3,nil] widthOffset:0]; 

,所以你可以添加多頁這樣,隨着菜單。

它確實很棒。 希望它有幫助。

+0

感謝您的回答,我做同樣的方式,但它不能在我想它的工作方式工作。讓您的CCMenuItem大到屏幕寬度的70%和屏幕高度的90%,然後將您的手指放在元素的頂部並嘗試滾動圖層,它將無法工作。爲了滾動ccScrollLayer,你必須從id從菜單項中釋放的位置開始滾動:)。現在我正在嘗試將UIkit與UIScrollView和UIButtons與occos2d集成,因爲我知道它會像那樣工作。 – repoguy

0

試試這個方法:

CCLayer *pageSeventhScroll = [[CCLayer alloc] init]; 
CCSprite * bgDonts= [CCSprite spriteWithFile:@"donts~ipad.jpg"]; 
bgDonts.tag = 102; 
bgDonts.position=CGPointMake(512,384); 
[pageSeventhScroll addChild:bgDonts]; 
currentBackground = bgDonts; 
CCScrollLayer *scroller = [[CCScrollLayer alloc] initWithLayers:[NSMutableArray arrayWithObjects: pageSeventhScroll,nil] widthOffset: 0]; 

// finally add the scroller to your scene 
[self addChild:scroller]; 
相關問題