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

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

以下是实际效果:

时间: 2024-10-24 17:53:54

Cocos2D实现上下滚动式状态窗口的相关文章

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

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 假设认为写的不好请多提意见,假设认为不错请多多支持点赞.谢谢! hopy ;) 有时候要显示的内容太多,我们无法在iOS设备的小屏幕上显示出来,这时候我们能够将内容划分为多个子窗体,依次显示相应的窗体. 在SpritBuilder中新建一个类型为Node的CCB文件,调整样式例如以下: 我这里划分了2个子窗体,用中间的箭头切割. 注意以下的子窗体中的内容是动态获取的,所以这里留空,可是要保留一个引用的名称. 回到Xcode中,进入相应的类

如何优雅的研究 RGSS3 (四) 使窗口从画面边缘弹出

在很多游戏中,窗口可以从游戏画面的边缘弹出. 而在 RGSS3 的默认脚本中时没有这种功能的,当在地图上按下取消键时,游戏菜单会突然出现. 现在我们可以为主菜单添加动画效果,使其在屏幕边缘弹出. 我们知道游戏中的画面并不是真正的在动,而是在每一帧都绘制一幅新的画面. 每一帧都对画面做一些微小的改变,在玩家的眼里就会产生画面在运动的错觉. 复杂的运动效果涉及到复杂的公式,这里我们只采用最简单的匀速直线运动. 我们为主菜单中的三个窗口添加匀速直线的运动规律,使其从画面的边缘移动到目标位置. @com

Flink流处理之窗口算子分析

窗口算子WindowOperator是窗口机制的底层实现,它几乎会牵扯到所有窗口相关的知识点,因此相对复杂.本文将以由面及点的方式来分析WindowOperator的实现.首先,我们来看一下对于最常见的时间窗口(包含处理时间和事件时间)其执行示意图: 上图中,左侧从左往右为事件流的方向.方框代表事件,事件流中夹杂着的竖直虚线代表水印,Flink通过水印分配器(TimestampsAndPeriodicWatermarksOperator和TimestampsAndPunctuatedWaterm

Windows窗口消息大全

Windows窗口消息大全,全不全自己看 ////////////////////////////////////////////////////////////////////////// #include "AFXPRIV.H"//消息值的定义来源 #include "Dde.h"//DDE消息值的定义来源 #include "CPL.H"//控制面板消息值的定义来源 #include "WFEXT.H"//文件管理器的消

如何优雅的研究 RGSS3 (三) 调整窗口的细节

在上一期我们研究了向窗口中添加选项的方法,本期就来研究一下窗口类的具体细节. 所有窗口的父类 Window_Base 初始化时需要四个参数. #-------------------------------------------------------------------------- # ● 初始化对象 #-------------------------------------------------------------------------- def initialize(x,

窗口发送消息参数详解

//    窗口.发送消息    函数功能: 将指定的消息发送到一个窗口,同win32 api 里面的SendMessage等同的效果 中文函数原型: 发送消息(hwnd,msg,wparam,iparam)      英文函数原型: sendmessage(hwnd,msg,wparam,iparam) 参数: hwnd: 窗口句柄 值,可以通过,找到窗口.顶层窗口句柄,等获取句柄的函数得到msg:指定被发送的消息wparam:指定附加的消息特定信息. iparam:指定附加的消息特定信息.举

QT 5 初学1 多窗口切分-续

转载:omydocument 主窗口本身就带着菜单,工具栏,和状态栏,作为一个基本应用,这些都不用操心. 一个工具,需要把窗口切分成三部分,左边,右上,右下.左边显示选择的功能,右上是主窗口.右下作为状态窗口. 在上篇的基础上,采用系统窗口形式,不再在main上开窗口.也就是用桌面设计模式. 1 #include "mainwindow.h" 2 #include <QApplication> 3 int main(int argc, char *argv[]) 4 { 5

linux 常见服务端口

Linux服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户.提供这些服务的程序是由运行在后台的守护进程(daemons) 来执行的.守护进程是生存期长的一种进程.它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.他们常常在系统引导装入时启动,在系统 关闭时终止.linux系统有很多守护进程,大多数服务器都是用守护进程实现的.同时,守护进程完成许多系统任务,比如,作业规划进程crond.打印进 程lqd等.有些书籍和资

轻松解决Win8.1连接受限或无法连接WiFi问题

在无线网络连接设置窗口中,找到当前连接的无线网络“WLAN状态”,右击查看“状态”. 在“WLAN状态”窗口中找到“无线属性”. 进入“无线网络属性”窗口,切换到“安全”页面,点击“高级设置”.最重要的一步来了——勾选“为此网络启动(FIPS)兼容”的选项. 这样,通过查看WLAN状态--无线属性--安全--高级设置--勾选“为此网络启用联邦信息处理标准FIPS)兼容(F)”的设置操作,手动启用Win8.1系统的“为此网络启动联邦信息处理标准(FIPS)兼容”这一功能,能够加强Win8.1系统无