Example #1
0
 public static void register(String name, AsTransitionCallback func)
 {
     if (sTransitions == null)
     {
         registerDefaults();
     }
     sTransitions[name] = func;
 }
 public static void register(String name, AsTransitionCallback func)
 {
     if(sTransitions == null)
     {
         registerDefaults();
     }
     sTransitions[name] = func;
 }
Example #3
0
 public virtual void setTransition(String _value)
 {
     mTransitionName = _value;
     mTransitionFunc = AsTransitions.getTransition(_value);
     if (mTransitionFunc == null)
     {
         throw new AsArgumentError("Invalid transiton: " + _value);
     }
 }
 private static float easeCombined(AsTransitionCallback startFunc, AsTransitionCallback endFunc, float ratio)
 {
     if(ratio < 0.5f)
     {
         return 0.5f * startFunc(ratio * 2.0f);
     }
     else
     {
         return 0.5f * endFunc((ratio - 0.5f) * 2.0f) + 0.5f;
     }
 }
Example #5
0
 private static float easeCombined(AsTransitionCallback startFunc, AsTransitionCallback endFunc, float ratio)
 {
     if (ratio < 0.5f)
     {
         return(0.5f * startFunc(ratio * 2.0f));
     }
     else
     {
         return(0.5f * endFunc((ratio - 0.5f) * 2.0f) + 0.5f);
     }
 }
Example #6
0
 public virtual AsTween reset(Object target, float time, Object transition)
 {
     mTarget       = target;
     mCurrentTime  = 0;
     mTotalTime    = AsMath.max(0.0001f, time);
     mDelay        = mRepeatDelay = 0.0f;
     mOnStart      = mOnUpdate = mOnComplete = null;
     mOnStartArgs  = mOnUpdateArgs = mOnCompleteArgs = null;
     mRoundToInt   = mReverse = false;
     mRepeatCount  = 1;
     mCurrentCycle = -1;
     if (transition is String)
     {
         this.setTransition(transition as String);
     }
     else
     {
         if (transition is AsTransitionCallback)
         {
             this.setTransitionFunc(transition as AsTransitionCallback);
         }
         else
         {
             throw new AsArgumentError("Transition must be either a string or a function");
         }
     }
     if (mProperties != null)
     {
         mProperties.setLength(0);
     }
     else
     {
         mProperties = new AsVector <String>();
     }
     if (mStartValues != null)
     {
         mStartValues.setLength(0);
     }
     else
     {
         mStartValues = new AsVector <float>();
     }
     if (mEndValues != null)
     {
         mEndValues.setLength(0);
     }
     else
     {
         mEndValues = new AsVector <float>();
     }
     return(this);
 }
Example #7
0
 public virtual void setOnComplete(AsTransitionCallback _value)
 {
     mOnComplete = _value;
 }
 public virtual AsTween reset(Object target, float time, Object transition)
 {
     mTarget = target;
     mCurrentTime = 0;
     mTotalTime = AsMath.max(0.0001f, time);
     mDelay = mRepeatDelay = 0.0f;
     mOnStart = mOnUpdate = mOnComplete = null;
     mOnStartArgs = mOnUpdateArgs = mOnCompleteArgs = null;
     mRoundToInt = mReverse = false;
     mRepeatCount = 1;
     mCurrentCycle = -1;
     if(transition is String)
     {
         this.setTransition(transition as String);
     }
     else
     {
         if(transition is AsTransitionCallback)
         {
             this.setTransitionFunc(transition as AsTransitionCallback);
         }
         else
         {
             throw new AsArgumentError("Transition must be either a string or a function");
         }
     }
     if(mProperties != null)
     {
         mProperties.setLength(0);
     }
     else
     {
         mProperties = new AsVector<String>();
     }
     if(mStartValues != null)
     {
         mStartValues.setLength(0);
     }
     else
     {
         mStartValues = new AsVector<float>();
     }
     if(mEndValues != null)
     {
         mEndValues.setLength(0);
     }
     else
     {
         mEndValues = new AsVector<float>();
     }
     return this;
 }
Example #9
0
 public virtual void setOnStart(AsTransitionCallback _value)
 {
     mOnStart = _value;
 }
Example #10
0
 public virtual void setOnRepeat(AsTransitionCallback _value)
 {
     mOnRepeat = _value;
 }
Example #11
0
 public virtual void setOnStart(AsTransitionCallback _value)
 {
     mOnStart = _value;
 }
Example #12
0
 public virtual void setTransitionFunc(AsTransitionCallback _value)
 {
     mTransitionName = "custom";
     mTransitionFunc = _value;
 }
Example #13
0
        public virtual void advanceTime(float time)
        {
            if (time == 0 || (mRepeatCount == 1 && mCurrentTime == mTotalTime))
            {
                return;
            }
            int   i             = 0;
            float previousTime  = mCurrentTime;
            float restTime      = mTotalTime - mCurrentTime;
            float carryOverTime = time > restTime ? time - restTime : 0.0f;

            mCurrentTime = AsMath.min(mTotalTime, mCurrentTime + time);
            if (mCurrentTime <= 0)
            {
                return;
            }
            if (mCurrentCycle < 0 && previousTime <= 0 && mCurrentTime > 0)
            {
                mCurrentCycle++;
                if (mOnStart != null)
                {
                    mOnStart((float)(mOnStartArgs[0]));
                }
            }
            float ratio         = mCurrentTime / mTotalTime;
            bool  reversed      = mReverse && (mCurrentCycle % 2 == 1);
            int   numProperties = (int)(mStartValues.getLength());

            for (i = 0; i < numProperties; ++i)
            {
                if (AsGlobal.isNaN(mStartValues[i]))
                {
                    mStartValues[i] = ((AsObject)(mTarget)).getOwnProperty(mProperties[i]) as float;
                }
                float startValue      = mStartValues[i];
                float endValue        = mEndValues[i];
                float delta           = endValue - startValue;
                float transitionValue = reversed ? mTransitionFunc(1.0f - ratio) : mTransitionFunc(ratio);
                float currentValue    = startValue + transitionValue * delta;
                if (mRoundToInt)
                {
                    currentValue = AsMath.round(currentValue);
                }
                ((AsObject)(mTarget)).setOwnProperty(mProperties[i], currentValue);
            }
            if (mOnUpdate != null)
            {
                mOnUpdate((float)(mOnUpdateArgs[0]));
            }
            if (previousTime < mTotalTime && mCurrentTime >= mTotalTime)
            {
                if (mRepeatCount == 0 || mRepeatCount > 1)
                {
                    mCurrentTime = -mRepeatDelay;
                    mCurrentCycle++;
                    if (mRepeatCount > 1)
                    {
                        mRepeatCount--;
                    }
                    if (mOnRepeat != null)
                    {
                        mOnRepeat((float)(mOnRepeatArgs[0]));
                    }
                }
                else
                {
                    AsTransitionCallback onComplete = mOnComplete;
                    AsArray onCompleteArgs          = mOnCompleteArgs;
                    dispatchEventWith(AsEvent.REMOVE_FROM_JUGGLER);
                    if (onComplete != null)
                    {
                        onComplete((float)(onCompleteArgs[0]));
                    }
                }
            }
            if (carryOverTime != 0)
            {
                advanceTime(carryOverTime);
            }
        }
Example #14
0
 public virtual void setOnUpdate(AsTransitionCallback _value)
 {
     mOnUpdate = _value;
 }
Example #15
0
 public virtual void setOnRepeat(AsTransitionCallback _value)
 {
     mOnRepeat = _value;
 }
Example #16
0
 public virtual void setTransition(String _value)
 {
     mTransitionName = _value;
     mTransitionFunc = AsTransitions.getTransition(_value);
     if(mTransitionFunc == null)
     {
         throw new AsArgumentError("Invalid transiton: " + _value);
     }
 }
Example #17
0
 public virtual void setTransitionFunc(AsTransitionCallback _value)
 {
     mTransitionName = "custom";
     mTransitionFunc = _value;
 }