【问题标题】:CCScrollLayer issues in cocos2dcocos2d 中的 CCScrollLayer 问题
【发布时间】:2012-04-02 14:40:04
【问题描述】:

我有这个问题尝试使用 cocos2d CCScrollLayer

我已将 CCScrollLayer 类添加到我的场景中,但遇到以下 3 个问题: 1.不是接触 2.它把背景(风景)放在一起,像这样:page1就位,但是page2在半屏的顶部,所以我看到一半page1一半page2。 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];

以及类的来源:

【问题讨论】:

    标签: objective-c cocos2d-iphone ccscrolllayer


    【解决方案1】:

    三个问题的答案:

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

    【讨论】:

      【解决方案2】:

      如果您使用 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多