Cocos2d-X 精灵、动作效果

命名空间宏:
USING_NS_CC; 感觉其实挺鸡肋的。
NS_CC_BEGIN; == using namespace cocos2d{
NS_CC_END ; }

判断一个精灵被点击:
1、层要接收点击消息。2、回调函数中取得点击坐标。3、取得精灵用boudingBox().containsPoint函数判断。(或使用 convertTouchToNodeSpaceAR 方法)

多Layer点击处理:
1、使用ccTouchesBegan()。此函数返回true,表示中断消息链,本层接收消息;返回false则本层不接收消息。
2、重写个Layer。大体思路是只有最底层的Layer接收消息,然后根据某种方式转发给各层。
具体可参考文章: http://www.myexception.cn/operating-system/1118630.html cocos2d-x 建立自己的层级窗口消息机制

精灵拉长:
setScale() 尽量不用这样的变换,因为会虚。

精灵半透明:
setOpacity() 设置半透明0~255 。

精灵旋转:
setRotation() 默认是Z轴旋转。
setRotationX() X轴为对称轴旋转。
setRotationY() Y轴为对称中心。

精灵设定颜色:
setColor() 真没感觉有啥用。有ccBLUE之类的宏。

相反的动作:
reverse() 创建一个相反的动作,之前动作必须是By类型的。与坐标无关,只与动作相关。
相反一系列动作:
将CCSquence创建好的一系列动作赋值给一个CCFiniteTimeAction 指针,然后再调用这个指针的reverse。

动作类型:
CCActionInterval:
类名功能
CCMoveTo移动
CCScaleTo放大
CCSKewTo斜交(距离无穷的旋转)
CCRotateTo旋转
CCJumpTo跳动
CCBezierTo贝塞尔曲线移动
CCBlink闪烁
CCFadeIn\Out渐隐
CCTintTo上色
CCToggleVisibility切换可见
CCHide隐藏
CCShow显示
CCOrbitCamera轨道相机?能实现落叶翻转的效果
CCCardinalSplineBy路径移动
CCCatmullRomTo也是路径移动,不知道有什么区别

一直重复动作:
CCRepeatForever::create() 在runaAtion中把相应的动作套上这个类型即可。

重复一次动作:
CCRepeat::create() 在runaAtion中把相应的动作套上这个类型即可。

同步:
CCSpawn 与CCSquence用法一样只不过是同时执行。

跟随精灵移动:
CCFollow 运行Layer中的runAction。第二个参数为Layer的大小。

多个精灵的动作序列:
CCTargetedAction 与精灵相关的动作,创建好之后,可直接放到CCSqence中。

动作叠加:
精灵调用多次runAction可以使不同的动作叠加起来。

动作的暂停与恢复:
动作暂停:
sharedDirector->getActionManager()->pauseAllRunningActions() 即可暂停所有动作,返回值为一个CCSet* 要将其存入m_pPausedTargets中。使用时可参照:
CC_SAFE_RELEASE(m_pPausedTargets);
m_pPausedTargets = director->getActionManager()->pauseAllRunningActions();
CC_SAFE_RETAIN(m_pPausedTargets);
动作的恢复为:
sharedDirector->getActionManager()->resumeTargets(m_pPausedTargets)



本篇博客出自 阿修罗道 ,转载请注明出处: http://blog.csdn.net/fansongy/article/details/8835146

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值