protected override void proceedAnimating() { base.proceedAnimating(); Color newColor = new Color(0, 0, 0, 0); if (graphic != null) { newColor = graphic.color; } else if (spriteRenderer != null) { newColor = spriteRenderer.color; } newColor.Scale(ColorTweener.GetInverseColorForTweenerType(tweenerType)); newColor += ImageProcessing.Mul(currentValue, ColorTweener.GetColorForTweenerType(tweenerType)); if (graphic != null) { graphic.color = newColor; } else if (spriteRenderer != null) { spriteRenderer.color = newColor; } }
private void SwapTweeners() { ColorTweener temp = tweener; tweener = tweener1; tweener1 = temp; tweener.Reset(); }
protected override void LoadContent() { base.LoadContent(); tweener = new ColorTweener(Color.Red, Color.Blue, 3.0f, Circular.EaseInOut); tweener1 = new ColorTweener(Color.Blue, Color.Red, 3.0f, Circular.EaseInOut); tweener.Ended += SwapTweeners; tweener1.Ended += SwapTweeners; }
/// <summary> /// Do the effect. /// </summary> override protected void DoEffect() { tweener = GetComponent <ColorTweener> (); if (tweener == null) { tweener = gameObject.AddComponent <ColorTweener> (); tweener.UseGameTime = true; } tweener.TweenWithTime(tweenMode, fadeTarget, fadeColour, fadeTime, null); }
public static EaseTweener ColorFadeTo(this Text render, Color colorFadeTo, float duration, Func <float, float, float, float> animProperties) { ColorTweener tweener = render.gameObject.AddComponent <ColorTweener>(); tweener.originValue = render.color; tweener.finalValue = colorFadeTo; tweener.controller.duration = duration; tweener.controller.animatePreperties = animProperties; tweener.controller.play(); return(tweener); }
public static void AddTween(ColorTweener tweener, ColorTweenPositionUpdate updateCallback, BasicEvent endCallback = null) { _colorTweens.Add(tweener); tweener.PositionChanged += new PositionChangedHandler<Color>((value) => updateCallback(value)); tweener.Ended += () => { if (endCallback != null) endCallback(); _colorTweens.Remove(tweener); }; }
/// <summary> /// Initializes the scene. /// </summary> protected override void OnInitialize() { // Character texture var resources = AlmiranteEngine.Resources; this.character = resources.LoadAsync<Texture2D>("Textures\\character"); // Position tweener this.position = new Vector2(0, 0); this.positionTweener = new VectorTweener(new Vector2(470, 30), new Vector2(720, 180)); this.positionTweener.ValueChanged += (tween, data) => { this.position = tween.Value; }; this.positionTweener.Forward(5, MotionTweens.ElasticInOut).Backward(5, MotionTweens.BounceInOut).Action(() => { }).Repeat().Start(); // Angle tweener this.angle = 0; this.angleTweener = new ValueTweener(0, MathHelper.ToRadians(360)); this.angleTweener.ValueChanged += (tweener, data) => { this.angle = tweener.Value; }; this.angleTweener.Forward(1).Action(() => { }).Repeat().Start(); // Color tweener this.color = Color.White; this.colorTweener = new ColorTweener(Color.White, Color.Red); this.colorTweener.ValueChanged += (tweener, data) => { this.color = tweener.Value; }; this.colorTweener.Forward(0.8f).Backward(0.8f).Action(() => { }).Repeat().Start(); // Positions tweener this.positions = new Vector2[8]; this.positionsTweener = new ValueTweener[8]; for (int i = 0; i < this.positions.Length; i++) { this.positions[i] = new Vector2(); this.positions[i].X = 20; this.positions[i].Y = 30 + (50 * i); this.positionsTweener[i] = new ValueTweener(this.positions[i].X, this.positions[i].X + 400, i); this.positionsTweener[i].ValueChanged += (tween, data) => { this.positions[(int)data].X = tween.Value; }; } this.positionsTweener[0].Forward(5).Backward(5).Repeat().Start(); this.positionsTweener[1].Backward(5).Forward(3).Backward(1).Forward(1).Repeat().Start(); this.positionsTweener[2].Forward(4).Wait(2).Backward(4).Repeat().Start(); this.positionsTweener[3].Forward(2).Backward(2).Wait(1).Repeat().Start(); this.positionsTweener[4].Wait(2).Forward(2).Backward(2).Forward(2, MotionTweens.ElasticInOut).Backward(2, MotionTweens.SinusoidalInOut).Repeat().Start(); this.positionsTweener[5].Forward(1).Backward(1).Repeat().Start(); this.positionsTweener[6].Backward(5).Forward(1).Backward(1).Wait(1).Forward(1).Backward(0.5f).Forward(0.5f).Repeat().Start(); this.positionsTweener[7].Forward(8, MotionTweens.ExponentialInOut).Backward(2, MotionTweens.QuinticInOut).Repeat().Start(); // this.Almirante.IsCursorVisible = true; }
/// <summary> /// Initializes the scene. /// </summary> protected override void OnInitialize() { // Character texture var resources = AlmiranteEngine.Resources; this.character = resources.LoadAsync <Texture2D>("Textures\\character"); // Position tweener this.position = new Vector2(0, 0); this.positionTweener = new VectorTweener(new Vector2(470, 30), new Vector2(720, 180)); this.positionTweener.ValueChanged += (tween, data) => { this.position = tween.Value; }; this.positionTweener.Forward(5, MotionTweens.ElasticInOut).Backward(5, MotionTweens.BounceInOut).Action(() => { }).Repeat().Start(); // Angle tweener this.angle = 0; this.angleTweener = new ValueTweener(0, MathHelper.ToRadians(360)); this.angleTweener.ValueChanged += (tweener, data) => { this.angle = tweener.Value; }; this.angleTweener.Forward(1).Action(() => { }).Repeat().Start(); // Color tweener this.color = Color.White; this.colorTweener = new ColorTweener(Color.White, Color.Red); this.colorTweener.ValueChanged += (tweener, data) => { this.color = tweener.Value; }; this.colorTweener.Forward(0.8f).Backward(0.8f).Action(() => { }).Repeat().Start(); // Positions tweener this.positions = new Vector2[8]; this.positionsTweener = new ValueTweener[8]; for (int i = 0; i < this.positions.Length; i++) { this.positions[i] = new Vector2(); this.positions[i].X = 20; this.positions[i].Y = 30 + (50 * i); this.positionsTweener[i] = new ValueTweener(this.positions[i].X, this.positions[i].X + 400, i); this.positionsTweener[i].ValueChanged += (tween, data) => { this.positions[(int)data].X = tween.Value; }; } this.positionsTweener[0].Forward(5).Backward(5).Repeat().Start(); this.positionsTweener[1].Backward(5).Forward(3).Backward(1).Forward(1).Repeat().Start(); this.positionsTweener[2].Forward(4).Wait(2).Backward(4).Repeat().Start(); this.positionsTweener[3].Forward(2).Backward(2).Wait(1).Repeat().Start(); this.positionsTweener[4].Wait(2).Forward(2).Backward(2).Forward(2, MotionTweens.ElasticInOut).Backward(2, MotionTweens.SinusoidalInOut).Repeat().Start(); this.positionsTweener[5].Forward(1).Backward(1).Repeat().Start(); this.positionsTweener[6].Backward(5).Forward(1).Backward(1).Wait(1).Forward(1).Backward(0.5f).Forward(0.5f).Repeat().Start(); this.positionsTweener[7].Forward(8, MotionTweens.ExponentialInOut).Backward(2, MotionTweens.QuinticInOut).Repeat().Start(); // this.Almirante.IsCursorVisible = true; }