Cocos2d-x学习笔记(3) - 动作

本文详细介绍了在Cocos2d-x引擎中实现游戏动作的方法,包括动作类CCAction的使用,动作的创建、定义、执行及控制顺序等关键步骤。以模仿水果忍者为例,演示了如何利用CCJumpTo、CCBezierTo和CCRotateTo等动作实现物体的曲线运动和旋转效果。同时,文章阐述了如何通过CCFiniteTimeAction和CCSequence等来组织和控制多个动作的执行顺序,以及如何在动作完成后执行特定的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	对于一个游戏来说,动作是非常重要的,好的动作可以使游戏的可玩性大大提高,在cocos2d-x引擎中有一个动作类,CCAction是动作类的基类,动作是定义在节点(CCNode)上的,以节点为目标,主要分为两类瞬时动作和延时动作,具体的动作可以再官方的api上有详细的列表,这里给一个链接吧!(不要总是偷懒。。。http://cn.cocos2d-x.org/document	一个动作的实现主要有以下几个步骤,下面我以山寨水果忍者中涉及到的函数为例吧。。。

1.创建一个节点

	这里是创建水果的函数,Fruit是我自定义的一个类,我创建一个随机的水果,设置水果的位置,其他的代码暂时不用理解。

2.定义动作

	我为水果定义了两种曲线运动方式,都是在-x中很常用的,一个CCJumpTo,另一个是CCBezierTo就是贝塞尔曲线,另一个CCRotateTo就是让节点旋转,贝塞尔曲线的使用比较重要,可以查一下相关的资料掌握一下。

3.动作的执行

	一般情况下你会有几个动作需要执行,那么很重要的就是控制好动作的执行顺序,是同时执行还是一个一个接着的执行,用CCFiniteTimeAction来定义在给定时间内需要执行完的动作,用CCSequence动作序列来放置需要执行的动作,刚开始比较难控制动作的执行顺序

(1)如果采用这种方式执行动作,动作是同时执行的,这里的actions和cocos2d中的很相近。

(2)如果采用这种方式执行动作,动作是按照序列的顺序执行,CCDelayTime是延迟时间的函数。

	通常游戏在调用动作之后会进行相关的操作(消息机制),例如导航到其它的页面或者调用相关的回调函数,这是你可以再CCFiniteTimeAciton中定义,如何把它添加到动作队列中,这样就可以再完成动作之后执行,例如

	这里我是用CCCallFuncN来定义一个动作调用removefruit这个回调函数,CCCallFuncN是针对一个节点设计的,“N”就是Node的意思,如果不是针对节点就可以用CCCallFunc来定义,它还提供了一个很方便的接口,就是reverse,来执行动作的作,你可以通过actionMoveDown->reverse()来使用。
	动作暂时就讲到这里,具体的内容以后肯定还要补充,如果我有什么写错的地方希望大家多多纠正啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值