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];
}

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

以下是实际效果:

这里写图片描述

相关文章
|
3月前
|
C++ Windows
Qt 窗口置顶
Qt 窗口置顶
105 1
|
6月前
QT取消标题栏,如何实现窗口移动
QT取消标题栏,如何实现窗口移动
Qt设置窗口可拖动
Qt设置窗口可拖动
234 0
|
6月前
Qt 控件大小随着窗口的大小而变化设置
Qt 控件大小随着窗口的大小而变化设置
158 0
|
Python
飞机大战-创建窗口(1)
用Python编程,编写飞机大战-创建窗口。
57 0
|
测试技术
clswindow使用案例:窗口图钉-窗口置顶(含源码)
clswindow使用案例:窗口图钉-窗口置顶(含源码)
261 0
clswindow使用案例:窗口图钉-窗口置顶(含源码)
VC下利用Picture控件实现png图片按钮(鼠标初始、按下、松开、获得焦点四种状态)
VC下利用Picture控件实现png图片按钮(鼠标初始、按下、松开、获得焦点四种状态)
130 0
PyQt5 技巧篇-窗口置顶设置,如何使窗口始终显示在最前面
PyQt5 技巧篇-窗口置顶设置,如何使窗口始终显示在最前面
2048 0