播放拖影特效 播放残影特效

播发拖影特效


--function g_PlayShadowAction 播发拖影特效    拖影的对象必须先显示,否则无法实现剪切
--@param:moveNode     移动的节点
--@param:pContainer   复制的对象
--@param:count        出现次数
--@param:interval     间隔时间
--@param:color        影子颜色 cc.c3b
function g_PlayShadowAction(  pContainer,count,interval,color,hideInterval)
    --print("g_PlayShadowAction");
    if not pContainer then 
        return 
    end 
    local countSprite = 0;
    local actionSprite = cc.Sprite:create(); 
    local ppContainer = pContainer:getParent()
    if not ppContainer then 
        return 
    end 

    local pppContainer = ppContainer:getParent()
    if not pppContainer then 
        return 
    end 
    pppContainer:addChild(actionSprite);

    local function callBackFunc()

        if ppContainer.m_nMonomer then 
            local pSprite = g_CutPicture(ppContainer.m_nMonomer);

            if pSprite then

                local aniSize = pContainer:getContentSize();
                local aniAnchorPoint = cc.p( ppContainer:getAnchorPoint()  );
                --aniAnchorPoint.x = 0.5;
                local postion = cc.p( ppContainer:getPositionX() - aniSize.width/2  ,
                ppContainer:getPositionY() - aniSize.height/2  ) ;
                --print( ppContainer:getPositionX(), ppContainer:getPositionY());
                pSprite:setPosition( postion );
                if color then
                    pSprite:setColor( color );  --cc.c3b( 0,255,0 )
                end

                pSprite:setAnchorPoint( aniAnchorPoint );
                pppContainer:addChild(pSprite,ppContainer:getLocalZOrder() -1 );
                countSprite = countSprite + 1;
                local function moveCallFunc()
                    pSprite:removeFromParent();
                    if countSprite > count then
                        actionSprite:removeFromParent();
                    end     
                end
                pSprite:setOpacity(150);
                local fadeTo  = cc.FadeTo:create( hideInterval , 0);
                local moveFunc = cc.CallFunc:create(moveCallFunc);
                pSprite:runAction( cc.Sequence:create(fadeTo,moveFunc) );

            end
        end 

    end

    local actionTable = {};
    for i=1,count-1 do
        local delayTime = cc.DelayTime:create(interval)
        local callFunc = cc.CallFunc:create(callBackFunc)
        table.insert(actionTable,delayTime);
        table.insert(actionTable,callFunc);
    end  
    local action = cc.Sequence:create( unpack(actionTable) )
    actionSprite:runAction(action);
    return actionSprite;
end

使用样例


-- 设置 是否播放残影  
function BonesEffect:setPlayGhostTime(nGhostTime)
    self.m_nGhostTime = nGhostTime
end

-- 播放 残影
function BonesEffect:playGhost(monomer)

    if monomer then  

        local t = self.m_nGhostTime/1000  -- 播放时间 
        local wt = 0.4 -- 残影存在时间 渐影 

        if self.m_nGhostTime and t>0 then 
            g_PlayShadowAction( monomer.m_nMonomer,t,GAME_FRAME_FLUENT*3,cc3BLUE,wt)
        end 

        --if self.m_isSkillBreak then 
        monomer:setDisappearSkill(self.m_skillMgr,self.m_isSkillBreak)
        --end 
    end 

end
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • 大家好,我是三人行,也可以叫我「行长」。 前段时间在公众号留言里说,要介绍打卡图里 “four” 的做法,里面主要...
    听行长的话阅读 2,911评论 8 61
  • 如果不是一份邮箱获赞提醒,我可能早已忘记,忘记这里还有这些青涩的文字,宝贵的记忆,谢谢那位喜欢我文字的朋友,谢谢你...
    简张阅读 356评论 0 0
  • 本文将介绍如何使用Android Studio 签名 如果一个APK要成功安装到机器上,必须通过数字证书签名。 数...
    剩下的只有自己阅读 311评论 0 0
  • 很多人来到我们的生命中并非是抱着陪我们走很久很久的信念来的,可能只是刚好相遇,可能是刚好相识,可能是刚好相知,但却...
    虾酱派掌门鹤宝阅读 565评论 0 0
  • python -m SimpleHTTPServer 1314 备注:控制台不能关闭,否则Http服务停止
    地里蒜头阅读 320评论 0 0