动作

【讲古堂】状态机(二)

那年仲夏 提交于 2019-12-04 22:05:41
状态机 状态机的概念是来自硬件的。描述一系列状态转换的电路叫状态机。主要用来实现一个数字系统设计中的控制部分。运行模式类似于CPU,但和CPU相比,具有结构简单、易读易懂等特点。 对于无限个状态(无限状态机,Infinite State Machine,ISM)是难以检证的,所以这里所说的状态机通常是指有限状态机或有穷状态机,即Finite State Machine,FSM。 状态模式可以允许客户端改变状态的转换行为,而状态机则是能够自动改变状态,状态机是一个比较独立的而且复杂的机制。 状态机看上去就像是一个有向图,其中状态是图的节点,而状态转换则是图的边。 此外这些状态中还必须有一个初始状态和至少一个接受状态。 但是由于一些原因并不会执行初始化(initialization),而是直接通过一个节点进入状态是允许的,则此节点称之为进入节点(Entry Point)。 进入终了状态的节点称为退出节点(Exit Point) 转移(Transitions)是两个状态之间的一种关系,表示对象将在源状态(Source State)中,因为预先定义的触发器的发生导致警界条件满足时进入目标状态(Target State)。 触发器(Trigger):是转移的诱因,可以是一个信号,事件、条件变化(a change in some condition)和时间表达式。 警界条件(Guard

Cocos2d-x-v3动作体系

霸气de小男生 提交于 2019-11-30 08:49:59
Cocos2d-x-v3动作体系 cocos2d-x-v3版本v2的版本有的很大的改动,最直观的是在一些函数的改动和类名的改动上,首先以CC开头的类,都不再使用CC。在我个人的理解上,原来的cocos2d-x是完全从iphone的框架cocos2d移植过来的,代码的风格和编程的思想都及类似于Object-C,除了语法是C++的外,其他就像是OC版的翻译,新的版本更好的体现了跨平台的特性,也更多的运用了C++的一些编码思想和语言特点,更易于各平台的开发者使用。这篇博客的主要内容,是总结cocos2d中行为动作的处理方法和相关函数。 一、瞬时动作 这类行为只能称为动作,不能称作动画,其执行是瞬时的,没有可是化的过程。 cocos2d中常用的瞬时动作有如下几种: FlipX:关于x轴做镜像变换。 FlipY:关于y轴做镜像变换。 Hide:隐藏。 Show:显示。 ToggleVisibility:切换隐藏和显示。 Place:将对象放置在某个位置。 二、延时动作 延时动作就是动画,将动作的过程展现出来,cocos2d引擎中的几种延时动作如下: 1. MoveTo:将对象移动到某一位置,是绝对位置,移动后不会记录对象的原始位置,动作不能进行反转。例如: auto action = MoveTo::create(2, Vec2(100, 100));//2S时间移动到(100,100)