2012-12-31 53 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]; 
相关问题