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

前端之家收集整理的这篇文章主要介绍了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];
}

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

以下是实际效果:

猜你在找的Cocos2d-x相关文章