cocos2d-x lua 程序中加载 动画

作者: 亮亮同学 | 来源:发表于2017-12-14 16:56 被阅读5次

    cocos2d-x技术群新群:117871561
    c++技术交流群:593010226

    function GameViewLayer:showStart()
    
         self._isStartShowing = true
    --读取cocostudio导出的动画文件
          local startshow = cc.CSLoader:createNode(cmd.RES_PATH.."game/beginAction.csb")
         :addTo(self)
         :setPosition(cc.p(627,450))
    --读取动画的Timeline
         local startshowAnction = cc.CSLoader:createTimeline(cmd.RES_PATH.."game/beginAction.csb")
    --播放动画函数
          startshow:runAction(startshowAnction)
    --播放到70帧结束
          startshowAnction:gotoFrameAndPlay(0,70,false)
        
    end
    
    
    

    另外的

    --在lua里面没法设置结束回调。。。但是你可以在结束的那一帧设置一个帧事件  字符串 你随便,用上面的函---数判断下你设置的最后一帧的字符串,就知道是不是最后一帧了。
    
    --给动画设置帧事件的回调
    startshowAnction :setFrameEventCallFunc( function( event )
    local eventName = event:getEvent();
    -- eventName 得到的就是在编辑器里设置的帧事件字符串
    print( "eventName = " .. tostring( eventName  ) );
    end);
    
    --c++几个播放函数
    C++里面有很多的播放函数
    /** Goto the specified frame index, and start playing from this index.
         * @param startIndex The animation will play from this index.
         */
    --从某一帧开始播放
        virtual void gotoFrameAndPlay(int startIndex);
    
    
        /** Goto the specified frame index, and start playing from this index.
         * @param startIndex The animation will play from this index.
         * @param loop Whether or not the animation need loop. 
         */
    --从某一帧开始播放,是否循环播放
        virtual void gotoFrameAndPlay(int startIndex, bool loop);
    
    
        /** Goto the specified frame index, and start playing from start index, end at end index.
         * @param startIndex The animation will play from this index.
         * @param endIndex The animation will end at this index.
         * @param loop Whether or not the animation need loop. 
         */
    --从某一帧开始播放,在某一帧结束,是否循环播放
        virtual void gotoFrameAndPlay(int startIndex, int endIndex, bool loop);
    
    
        /** Goto the specified frame index, and start playing from start index, end at end index.
         * @param startIndex The animation will play from this index.
         * @param endIndex The animation will end at this index.
         * @param currentFrameIndex set current frame index. 
         * @param loop Whether or not the animation need loop. 
         */
        virtual void gotoFrameAndPlay(int startIndex, int endIndex, int currentFrameIndex, bool loop);
    --  上面的都是通过帧播放,
      virtual void play(std::string animationName, bool loop);
    --  这个函数是通过名字播放
    
    --在lua里可以扩展这个播放函数
    
    

    相关文章

      网友评论

        本文标题:cocos2d-x lua 程序中加载 动画

        本文链接:https://www.haomeiwen.com/subject/vbukwxtx.html