触摸从CCMenuItem位置开始时,CCScrollLayer不会滚动

时间:2012-12-31 00:46:32

标签: objective-c xcode cocos2d-iphone

所以我正在使用cocos2d并设法使CCScrollLayer水平和垂直地工作。然后我将(相当大的)CCMenuItemImage / Sprite添加到CCLayer,然后将CCLayers传递给滚动层。它工作正常但问题是当我开始从任何CCMenuItem的位置移动我的手指时CCScrollLayer没有读取任何触摸因此我不能以直观的方式滚动我的视图。我怎么解决这个问题?提前谢谢你:)

2 个答案:

答案 0 :(得分: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];

所以你可以用菜单添加很多这样的页面。

它确实很有效。 希望它有所帮助。

答案 1 :(得分: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];