07--动作系统(一)

动作在游戏中有举足轻重的作用,它让游戏中的元素活了起来,比如单击一个按钮使用一个特效让玩家明显的感觉到点了这个按钮;角色的移动,攻击等等都离不开动作。因此Cocos2DX也为我们提供了丰富强大的动作系统。

CCNode与动作基类

CCNode中定义了动作有关的函数,也就是说根源种子类以及子类都能够执行动作。


//执行一个动作,并返回该动作
CCAction* runAction(CCAction* action);
//移除所有动作
void stopAllActions(void);
//根据动作参数移除指定的动作
void stopAction(CCAction* action);
//根据标签移除动作
void stopActionByTag(int tag);
//根据标签获取动作
CCAction* getActionByTag(int tag);
//获取当前对象执行动作的总数
unsigned int numberOfRunningActions(void);

上面函数都有详细的注释就不再解释了,下面看看动作基类CCAction。

CCAction和CCNode一样都直接集成了CCObject,可见Cocos2DX将动作作为一个单独的系统来处理。从上图也可以看出动作主要根据时间来划分,当然还有两个比较特殊的动作类:跟随动作CCFollow和速度动作CCSpeed。按照时间属性来划分引擎将动作分为了即时动作CCActionInstant和持续动作CCActionInterval两大类。前面也学习到不少元素现在我们来看看动作系统的位置(书上的图能说明问题借用了):

即时动作:动作执行马上就能见到效果的动作

  • CCFlipX 与 CCFlipY 将精灵对象水平垂直翻转;
  • CCPlace :将精灵对象放置在指定的位置(注意该动作不会影响其他属性如精灵对象的显示状态);
  • CCHide与CCShow:控制精灵对象的显示还是隐藏的动作;
  • CCToggleVisibility:精灵对象显示与隐藏的开关动作,也就是原来的隐藏的执行该动作后就为显示,反之亦然;
  • CCReuseGrid与CCStopGrid:网格动作;
  • CCCallFunc:函数回调动作,这个和C#中的委托使用有点像是,它又有三个子类:CCCallFuncND、CCCallFuncN、CCCallFuncO,三者的不同就是参数不同,使用中再详细了解。

时间: 2024-08-14 07:05:22

07--动作系统(一)的相关文章

Ngui动作系统(Action)

动作(Action)系统简介 什么是动作呢?顾名思义它是管理运行环境中所有动作的中枢,通俗点讲就是动画.它也是总个框架核心组件之一,它提供动作的创建.删除.插入,以及提供对关键帧与过渡的诸多操作.关键帧的过渡可以使用三次贝塞尔曲线,或内置的曲线 linear/ease/ease_in/ease_out/ease_in_out,这也和大多数主流框架以及游戏引擎类似. 动作是什么原理 动作怎么驱动视图进行流畅运动的呢?其实原理很简单,我们可以把动作系统看做一个独立的系统与视图或渲染完全不相关.它们之

CocosCreator动作系统

废话没有,直接上代码,有注释可以看的, cc.Class({ extends: cc.Component, properties: { //1 player:{ default:null, type:cc.Node, tooltip:"this is a tips"//属性检查器内的自定义提示信息 } }, onLoad:function(){ //////////使用动作系统/////////////////////////////////// //var action1=this.

07 动画系统

    Mecanim动画(新版动画)    选中一个动画在右侧的属性面板中可以查看动画的种种属性,    动画类型:None:无任何动画    Legacy:旧版Animation动画   Generic:一般动画(非人型动画)    Humanoid:人型动画 人型动画设置: 人型动画最重要的表示骨骼的设置,没有与之相匹配的骨骼,动画就不会播放 在属性面板进入动画剪辑中可对动画的长度以及播放时的状态进行编辑 LoopTime: 循环播放Loop Pose:循环姿势,解决最后一帧和最后一帧衔接

【JAVA学习】07.建立系统模块的权限表

[提要]系统权限要尽量做到可配置,包括用户.菜单.群组.角色.按钮等 [步骤] [注意] 1.因为群组名.角色名.按钮名.菜单名都有可能修改,所以要使用编码+名称,编码作为关键使用,也可以做英文标识: 原文地址:https://www.cnblogs.com/pbping/p/9080422.html

07.应对系统中出现大量不可中断进程和僵尸进程

上一篇,用一个 Nginx+PHP 的案例,给你讲了服务器 CPU 使用率高的分析和应对方法.这里一定要记得,当碰到无法解释的 CPU 使用率问题时,先要检查一下是不是短时应用在捣 鬼. 短时应用的运行时间比较短,很难在 top 或者 ps 这类展示系统概要和进程快照的工具中发现, 你需要使用记录事件的工具来配合诊断,比如 execsnoop 或者 perf top. 这些思路你不用刻意去背,多练习几次,多在操作中思考,你便能灵活运用. 另外,我们还讲到 CPU 使用率的类型.除了上一节提到的用

07.Linux系统-Fastdfs分布式文件系统-互为主从配置搭建部署

Fastdfs分布式文件系统-互为主从配置部署 1.安装基础依赖 yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel unzip 2.下载安装 libfastcommon wget https://github.com/happyfish100/libfastcommon/archive/master.zip 3.解压安装 unzip master.zipcd libfastcommon

08--动作系统(二)使用即时动作

前一篇文章大致理解了动作系统的结构,今天先学习一个简单的即时动作如何使用.首先使用配置好的环境创建一个项目DemoActionInstant 命令:python create_project.py -project DemoActionInstant -package demo.game.action -language cpp 然后在projects目录下找到win32工程文件,使用vs2010打开 改造一下项目,留下关闭按钮菜单,让他出发动作. 这里使用CCFlipX . CCFlipY.C

实现业务系统中的用户权限管理--实现篇

在设计篇中,我们已经为大家阐述了有关权限管理系统的数据库设计,在本篇中,我们将重点放在其实现代码部分.为了让你能够更直接更有效的看到全部动作的代码,我们使用"动作分解列表"的方式来陈述每个动作以及相关资源. 实现权限管理功能的动作 动作分解 动作名 相关表名 操作集类型 (S,U,I,D,SQL) 表单 模组 字符资源 是否分页? 返回提示? 权限检测 权限初始化安装 setup 无 无 无 setup setupok 否 否 否 显示添加管理组界面 addnewgroup 无 无 a

AvocadoJS视图与布局系统

视图View 在上一篇中我已经为大家讲了AvocadoJS入门,今天我就来介绍avocado的核心部分(视图与布局). View为gui核心部件派生为Notification.用它来描述屏幕上所有可见的元素,它是所有视图的基础类型它也是事件的响应者,这些事件由硬件以及操作系统触发.详细的API文档讲大家去这里查阅. 下面是avocado现在提供的所有View继承关系图:注:带*号的为抽象类型或协议没有构造函数 TextFont* TextLayout* BasicScroll* View Tex