大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.

假设认为写的不好请多提意见,假设认为不错请多多支持点赞.谢谢! 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实现上下滚动式状态窗体的更多相关文章

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

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 有时候要显示的内容太多,我们无法在iOS设备的小屏幕上显示出来 ...

  2. Cocos2D中的Framerate状态

    对于额外绘制调试物理引擎的支持,Cocos2D同样可以绘制概述计数器,尤其是帧速率(framerate)显示. 为了启用这些概述计数器标签,你只需添加如下一行代码,比如说在AppDelegate.m里 ...

  3. 怎样优雅的研究 RGSS3 (四) 使窗体从画面边缘弹出

    在非常多游戏中,窗体能够从游戏画面的边缘弹出. 而在 RGSS3 的默认脚本中时没有这样的功能的,当在地图上按下取消键时.游戏菜单会突然出现. 如今我们能够为主菜单加入动画效果,使其在屏幕边缘弹出. ...

  4. Delphi 的知识体系

    第一部分   快速开发的基础 第1章   Delphi 5下的Windows编程    1 1.1   Delphi产品家族    1 1.2  Delphi是什么    3 1.2.1   可视化开 ...

  5. GLView基本分析

    GLView是cocos2d-x基于OpenGL ES的调用封装UI库. OpenGL本身是跨平台的计算机图形实现API,在每一个平台的详细实现是不一样.所以每次使用之前先要初始化,去设置平台相关的信 ...

  6. 如何出色的研究 RGSS3 (三) 形式的调整的细节

    在一个我们研究了添加到窗体方法的选择,这个问题来研究窗体类的细节. 所有形式的父类的 Window_Base 四个参数需要初始化. #--------------------------------- ...

  7. 【300】◀▶ IDL - ENVI API

    参考:ENVI API 参考:ENVI Classic Display 序号 类名称   功能说明   语法 & 举例 01 ENVI 函数   ====<<<< De ...

  8. Delphi制作QQ自动登录器源码

    Delphi制作QQ自动登录器源码  http://www.cnblogs.com/sunsoft/archive/2011/02/25/1964967.html 以TM2009为例,检查了一下,未登 ...

  9. C# 实现窗口程序winform像QQ一样靠近桌面边缘自动隐藏窗口

    实现原理: 实现这个功能的原理步骤如下: 1.判断窗体程序是否靠近桌面边缘: 2.获取桌面屏幕大小与窗体程序大小: 3.把窗体程序显示在桌面以外隐藏起来,预留部分窗体方便用户拉出程序: 4.判断鼠标是 ...

随机推荐

  1. vue 发布build 本地设置 相对路径 两个地方 一个根目录用./ css文件里面用../../ 【也不好用,还是得手改】

    build: { // Template for index.html index: path.resolve(__dirname, '../dist/index.html'), // Paths a ...

  2. D2. Toy Train

    D2. Toy Train time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  3. 打开windows服务

    #include <winsvc.h> void CXXXDlg::ServiceRun() { SERVICE_STATUS ssStatus; //获得ServiceControl M ...

  4. java_String类的功能

    String类使用了final修饰不能被继承 实现类Serializable接口,字符串支持序列化 实现了Comparable接口,字符串可以比较大小 内部定义final char[] value用于 ...

  5. git 提交运用vim编辑器

    git  commit -m 默认使用nano,觉得不爽,改成vim吧.在 .gitconfig (在根目录下)的  [core] 段中加上 editor=vim . 或:$git config -- ...

  6. vim 删除单个单词,cc和dd关系

    c         功能和d相同,区别在于完成删除操作后进入INSERT MODE cc       也是删除当前行,然后进入INSERT MODE 删除每行第一个字符    :%s/^.//g   ...

  7. Python re模块 subprocess模块

    re模块 内部实现不是Python 而是调用了c的库 re是什么 正则 表达 式子 就是一些带有特殊含义的符号或者符号的组合作用: 对字符串进行过滤 在一对字符串中找到所关心的内容 你就需要告诉计算机 ...

  8. mysql常用命令用法

    Mysql帮助文档地址:http://dev.mysql.com/doc/ 1.创建数据库: create database database_name; 2.选择数据库: use database_ ...

  9. 洛谷 3953 NOIP2017提高组Day1 T3 逛公园

    [题解] 先建反向图,用dijkstra跑出每个点到n的最短距离dis[i] 设f[u][k]表示dis(u,n)<=mindis(u,n)+k的方案数.对于边e(u,v,w),走了这条边的话需 ...

  10. Java ExecutorService四种线程池的例子与说明(转发)

    1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override public void run() { ...