《Cocos2D-x权威指南》——3.8 拖动渐隐效果类CCMotionStreak

简介: 本节书摘来自华章计算机《Cocos2D-x权威指南》一书中的第3章,第3.8节,作者:满硕泉著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.8 拖动渐隐效果类CCMotionStreak

在游戏的实现过程中,有时会需要在某个游戏对象上的运动轨迹上实现渐隐效果。这种感觉就好像是类似飞机拉线的拖尾巴,在视觉上感觉很好,比如子弹的运动轨迹等,如果不借助引擎的帮助,这种效果往往需要通过大量的图片来实现。而Cocos2D-x提供了一种内置的拖动渐隐效果类CCMotionStreak来帮助我们实现这个效果。它是CCNode类的子类,继承关系如图3-34所示。

image


CCMotionStreak类的常用函数如表3-22所示。
image

以下示例出自tests项目中的MotionStreakTest文件夹下的MotionStreakTest.cpp文件,其中的MotionStreakTest2类如代码清单3-43所示。
代码清单3-43 定义CCMotionStreak对象

void MotionStreakTest2::onEnter()
{
    MotionStreakTest::onEnter();

    setTouchEnabled(true);

    CCSize s = CCDirector::sharedDirector()->getWinSize();
        
    streak = CCMotionStreak::create(3, 3, 64, ccWHITE, s_streak );
    addChild(streak);
    
    streak->setPosition( CCPointMake(s.width/2, s.height/2) ); 
}



void MotionStreakTest2::ccTouchesMoved(CCSet* touches, CCEvent* event)
{
    CCSetIterator it = touches->begin();
    CCTouch* touch = (CCTouch*)(*it);

    CCPoint touchLocation = touch->locationInView();    
    touchLocation = CCDirector::sharedDirector()->convertToGL( touchLocation );
    
    streak->setPosition( touchLocation );
}

以上代码使用create函数创建CCMotionStreak对象,每次调用setPosition函数重新设置对象位置时,“影子”将被创建并且慢慢渐隐,运行效果如图3-35所示。

image

相关文章
|
30天前
|
前端开发 JavaScript 开发者
【QML进阶 进度条设计】打造动态弧形进度条特效
【QML进阶 进度条设计】打造动态弧形进度条特效
84 1
|
图形学 数据安全/隐私保护
在Unity3D中如何画线,LineRender组件你一定要会(Unity3D)
发现网上很多教程都是如何用LineRender组件画线,但是这个组件还有很多其他的功能属性也是很有趣的,下面就让我们来看看吧
|
vr&ar 图形学
【Unity3D 灵巧小知识点】☀️ | Unity UGUI组件Scroll View禁止 左右 或 上下 滑动
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!
【Unity3D 灵巧小知识点】☀️ | Unity UGUI组件Scroll View禁止 左右 或 上下 滑动
|
C# Windows
Silverlight & Blend动画设计系列十一:沿路径动画(Animation Along a Path)
原文:Silverlight & Blend动画设计系列十一:沿路径动画(Animation Along a Path)   Silverlight 提供一个好的动画基础,但缺少一种方便的方法沿任意几何路径对象进行动画处理。
916 0