Exemple #1
0
        public override CCFiniteTimeAction reverse()
        {
            List <CCSpriteFrame> list   = this.m_pAnimation.getFrames();
            List <CCSpriteFrame> frames = new List <CCSpriteFrame>(list.Count);

            if (list.Count > 0)
            {
                for (int i = list.Count - 1; i >= 0; i--)
                {
                    CCSpriteFrame frame = list[i];
                    if (frame == null)
                    {
                        break;
                    }
                    frames.Insert((list.Count - 1) - i, (CCSpriteFrame)frame.copy());
                }
            }
            CCAnimation pAnimation = CCAnimation.animationWithFrames(frames, this.m_pAnimation.getDelay());

            return(actionWithDuration(base.m_fDuration, pAnimation, this.m_bRestoreOriginalFrame));
        }
        public override CCFiniteTimeAction reverse()
        {
            List <CCSpriteFrame> pOldArray = m_pAnimation.getFrames();
            List <CCSpriteFrame> pNewArray = new List <CCSpriteFrame>(pOldArray.Count);

            if (pOldArray.Count > 0)
            {
                CCSpriteFrame pElement;
                for (int nIndex = pOldArray.Count - 1; nIndex >= 0; nIndex--)
                {
                    pElement = pOldArray[nIndex];
                    if (null == pElement)
                    {
                        break;
                    }

                    pNewArray.Insert(pOldArray.Count - 1 - nIndex, (CCSpriteFrame)(pElement.copy()));
                }
            }

            CCAnimation pNewAnim = CCAnimation.animationWithFrames(pNewArray, m_pAnimation.getDelay());

            return(CCAnimate.actionWithDuration(m_fDuration, pNewAnim, m_bRestoreOriginalFrame));
        }