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箭头的方向.

以下是实际效果:

这里写图片描写叙述

原文地址:https://www.cnblogs.com/jhcelue/p/7142653.html