コード例 #1
0
        /// <summary>
        /// Function used to set our animation parameters
        /// </summary>
        /// <param name="transition">Type of interpolation function to utilize</param>
        /// <param name="startPosition"> Our start position</param>
        /// <param name="endPosition">Our end position</param>
        /// <param name="durationInSeconds">How many seconds the animation should take</param>
        public void Animate(TypeOfTransition transition, Vector3 startPosition, Vector3 endPosition, double durationInSeconds)
        {
            currentTransition = transition;

            switch (kindOfAnimation)
            {
            case VariableToAnimate.floatValue:
                singleValueTweener = new Tweener(startPosition.X, endPosition.X, TimeSpan.FromSeconds(durationInSeconds), GetTweeningFunction());
                singleValueTweener.PositionChanged += delegate(float newPosition) { returnValue = new Vector3(newPosition, 0, 0); };
                break;

            case VariableToAnimate.Vector2Value:
                vectorTwoTweener = new Vector2Tweener(new Vector2(startPosition.X, startPosition.Y), new Vector2(endPosition.X, endPosition.Y), TimeSpan.FromSeconds(durationInSeconds), GetTweeningFunction());
                vectorTwoTweener.PositionChanged += delegate(Vector2 newPosition) { returnValue = new Vector3(newPosition.X, newPosition.Y, 0); };
                break;

            case VariableToAnimate.Vector3Value:
                vector3Tweener = new Vector3Tweener(startPosition, endPosition, TimeSpan.FromSeconds(durationInSeconds), GetTweeningFunction());
                vector3Tweener.PositionChanged += delegate(Vector3 newPosition) { returnValue = newPosition; };
                break;

            default:
                vector3Tweener = new Vector3Tweener(startPosition, endPosition, TimeSpan.FromSeconds(durationInSeconds), GetTweeningFunction());
                vector3Tweener.PositionChanged += delegate(Vector3 newPosition) { returnValue = newPosition; };
                break;
            }
        }
コード例 #2
0
        /// <summary>
        /// Function used to set our animation parameters
        /// </summary>
        /// <param name="transition">Type of interpolation function to utilize</param>
        /// <param name="startPosition"> Our start position</param>
        /// <param name="endPosition">Our end position</param>
        /// <param name="durationInSeconds">How many seconds the animation should take</param>
        public void Animate(TypeOfTransition transition, Vector3 startPosition, Vector3 endPosition, double durationInSeconds)
        {
            currentTransition = transition;

            switch (kindOfAnimation)
            {
                case VariableToAnimate.floatValue:
                    singleValueTweener = new Tweener(startPosition.X, endPosition.X, TimeSpan.FromSeconds(durationInSeconds), GetTweeningFunction());
                    singleValueTweener.PositionChanged += delegate(float newPosition) { returnValue = new Vector3(newPosition, 0, 0); };
                    break;
                case VariableToAnimate.Vector2Value:
                    vectorTwoTweener = new Vector2Tweener(new Vector2(startPosition.X, startPosition.Y), new Vector2(endPosition.X, endPosition.Y), TimeSpan.FromSeconds(durationInSeconds), GetTweeningFunction());
                    vectorTwoTweener.PositionChanged += delegate(Vector2 newPosition) { returnValue = new Vector3(newPosition.X, newPosition.Y, 0); };
                    break;

                case VariableToAnimate.Vector3Value:
                    vector3Tweener = new Vector3Tweener(startPosition, endPosition, TimeSpan.FromSeconds(durationInSeconds), GetTweeningFunction());
                    vector3Tweener.PositionChanged += delegate(Vector3 newPosition) { returnValue = newPosition;};
                    break;

                default:
                    vector3Tweener = new Vector3Tweener(startPosition, endPosition, TimeSpan.FromSeconds(durationInSeconds), GetTweeningFunction());
                    vector3Tweener.PositionChanged += delegate(Vector3 newPosition) { returnValue = newPosition;};
                    break;
            }
        }