public virtual CCActionInterval reverse()
        {
            CCPointArray copyConfig = (CCPointArray)m_pPoints.copy();

            //
            // convert "absolutes" to "diffs"
            //
            CCPoint p = copyConfig.getControlPointAtIndex(0);

            for (int i = 1; i < copyConfig.count(); ++i)
            {
                CCPoint current = copyConfig.getControlPointAtIndex(i);
                CCPoint diff    = current.Sub(p);
                copyConfig.replaceControlPoint(diff, i);

                p = current;
            }


            // convert to "diffs" to "reverse absolute"

            CCPointArray pReverse = copyConfig.reverse();

            // 1st element (which should be 0,0) should be here too

            p = pReverse.getControlPointAtIndex(pReverse.count() - 1);
            pReverse.removeControlPointAtIndex(pReverse.count() - 1);

            p = p.Neg();
            pReverse.insertControlPoint(p, 0);

            for (int i = 1; i < pReverse.count(); ++i)
            {
                CCPoint current = pReverse.getControlPointAtIndex(i);
                current = current.Neg();
                CCPoint abs = current.Add(p);
                pReverse.replaceControlPoint(abs, i);

                p = abs;
            }

            return(CCCardinalSplineBy.create(m_fDuration, pReverse, m_fTension));
        }
 public virtual void updatePosition(CCPoint newPos)
 {
     m_pTarget.position = newPos.Add(m_startPosition);
 }
Ejemplo n.º 3
0
 public virtual new void updatePosition(CCPoint newPos)
 {
     this.m_pTarget.position = newPos.Add(this.m_startPosition);
 }
 public virtual void updatePosition(CCPoint newPos)
 {
     m_pTarget.position = newPos.Add(m_startPosition);
 }