2

我有这个问题尝试使用 cocos2dCCScrollLayer

我已将 CCScrollLayer 类添加到我的场景中,并遇到了这 3 个问题:1. 无法触摸 2. 将背景(风景)放在一起,如下所示:page1 到位,但 page2 位于顶部半屏,所以我看到半页 1 半页 2。3. 按钮中显示我现在在哪个页面上的点-我可以消除它们,或者将它们移动到其他地方吗?

多谢。

代码:

CGSize screenSize = [CCDirector sharedDirector].winSize;
        // PAGE 1
        CCLayer *page1 = [[CCLayer alloc] init];
        BACK.position=ccp(screenSize.width/2 ,screenSize.height/2);
         [page1 addChild:BACK];
        // PAGE 2
        CCLayer *page2 = [[CCLayer alloc] init];
        BACK1.position=ccp(screenSize.width/2,screenSize.height/2);
        [page2 addChild:BACK1];
        // PAGE 3
        CCLayer *page3 = [[CCLayer alloc] init];
        BACK1.position=ccp(screenSize.width/2,screenSize.height/2);
        [page3 addChild:BACK2];

        CCScrollLayer *scroller = [[CCScrollLayer alloc] initWithLayers:[NSMutableArray arrayWithObjects: page1,page2, nil] widthOffset: 230];

        // finally add the scroller to your scene
        [self addChild:scroller];

和类的来源:

4

2 回答 2

0

回答你的三个问题:

  1. 在 CCScrollLayer 中放置一个断点ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event以确保它没有接收到触摸。
  2. CCScrollLayer 故意重叠图层。如果您一次只希望在屏幕上显示一层,请增加 CCScrollLayer 的 scrollWidth_ 属性值。否则,您将不得不缩小背景图像,以免它们重叠。
  3. 我建议编辑 CCScrollLayer 类以删除或移动点。
于 2012-04-02T17:48:25.027 回答
0

如果您使用 cocos2d v. 1.1b2,请确保您拥有最新版本的 CCTouchDispatcher.m 文件。如果不是,请将您的文件更新到此文件: https ://github.com/cocos2d/cocos2d-iphone/blob/develop/cocos2d/Platforms/iOS/CCTouchDispatcher.m 和相应的 *.h 文件 https://github.com /cocos2d/cocos2d-iphone/blob/develop/cocos2d/Platforms/iOS/CCTouchDispatcher.h

于 2012-04-20T21:42:44.107 回答