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