Cocos2D实现上下滚动式状态窗体

Posted jhcelue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cocos2D实现上下滚动式状态窗体相关的知识,希望对你有一定的参考价值。

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
假设认为写的不好请多提意见,假设认为不错请多多支持点赞.谢谢! hopy ;)


有时候要显示的内容太多,我们无法在ios设备的小屏幕上显示出来,这时候我们能够将内容划分为多个子窗体,依次显示相应的窗体.

在SpritBuilder中新建一个类型为Node的CCB文件,调整样式例如以下:

技术分享

我这里划分了2个子窗体,用中间的箭头切割.

注意以下的子窗体中的内容是动态获取的,所以这里留空,可是要保留一个引用的名称.

回到Xcode中,进入相应的类,加入例如以下方法:

-(void)expandView{
    CCLOG(@"%@ pressed!!!",NSStringFromSelector(_cmd));
    CCActionMoveTo *move;
    CCActionRotateTo *rotate;
    CCAction *fade;
    if (!_isExpanded) {
        _isExpanded = YES;
        //_upperNode.visible = NO;
        fade = [CCActionFadeOut actionWithDuration:1.f];
        move = [CCActionMoveTo actionWithDuration:1 position:ccp(0, 0)];
        rotate = [CCActionRotateTo actionWithDuration:1 angle:180];
    }else{
        _isExpanded = NO;
        //_upperNode.visible = YES;
        fade = [CCActionFadeIn actionWithDuration:1.f];
        move = [CCActionMoveTo actionWithDuration:1 position:ccp(0, -1)];
        rotate = [CCActionRotateTo actionWithDuration:1 angle:0];
    }
    [self runAction:move];
    [_expandArrow runAction:rotate];
    [_upperNode runAction:fade];
}

该方法的主要功能是在点击button时下滑或上滑子窗体,应用一些动画效果,同一时候改变button箭头的方向.

以下是实际效果:

技术分享


以上是关于Cocos2D实现上下滚动式状态窗体的主要内容,如果未能解决你的问题,请参考以下文章

如何在 cocos2d 中为图层添加滚动?

采用cocos2d-x lua 的listview 实现pageview的翻页效果之上下翻页效果

c#怎么让textbox里的多行文字实现自动上下滚动播出,谢谢

Cocos2D 图层中的自定义滚动

BootStrap有用代码片段(持续总结)

cocos2d中如何使用UITextView添加滚动文本?