/// <summary> /// 淡出并移除立绘 /// </summary> /// <param name="depth">图像层数</param> /// <param name="time">淡出时间</param> public static Queue <ImageEffect> RemoveCharacterSprite(int depth, float time) { AnimationBuilder builder = new AnimationBuilder(); return(builder.BeginWith(EffectBuilder.FadeOutByDepth(depth, time)) .Then(EffectBuilder.DeleteSpriteByDepth(depth)) .Get()); }
/// <summary> /// 改变原有立绘(淡出淡入) /// </summary> /// <param name="depth">图像层数</param> /// <param name="sprite">图像名</param> /// <param name="fadeout">原图淡出时间</param> /// <param name="fadein">淡入时间</param> public static Queue <ImageEffect> ChangeCharacterSprite(int depth, Sprite sprite, float fadeout, float fadein) { AnimationBuilder builder = new AnimationBuilder(); if (fadeout == 0) { builder.BeginWith(EffectBuilder.ChangeByDepth(depth, sprite)); } else { builder.BeginWith(EffectBuilder.FadeOutByDepth(depth, fadeout)) .Then(EffectBuilder.SetSpriteByDepth(depth, sprite)); } if (fadein != 0) { return(builder.Then(EffectBuilder.FadeInByDepth(depth, fadein)).Get()); } return(builder.Get()); }
/// <summary> /// 淡出所有立绘 /// </summary> /// <param name="time">淡出时间</param> //public static Queue<ImageEffect> FadeOutAllChara(float time) //{ // AnimationBuilder builder = new AnimationBuilder(); // List<int> charanums = EffectBuilder.GetDepthNum(); // Queue<ImageEffect> animation = new Queue<ImageEffect>(); // animation.Enqueue(EffectBuilder.BlockClick(false)); // foreach (int x in charanums) // { // animation.Enqueue(EffectBuilder.FadeOutByDepth(x, time)); // } // return animation; //} ///// <summary> ///// 移除所有立绘 ///// </summary> //public static Queue<ImageEffect> RemoveAllChara() //{ // AnimationBuilder builder = new AnimationBuilder(); // List<int> charanums = EffectBuilder.GetDepthNum(); // Queue<ImageEffect> animation = new Queue<ImageEffect>(); // animation.Enqueue(EffectBuilder.BlockClick(false)); // foreach (int x in charanums) // { // animation.Enqueue(EffectBuilder.DeleteSpriteByDepth(x)); // } // animation.Enqueue(EffectBuilder.BlockClick(true)); // return animation; //} ///// <summary> ///// 淡出所有图片(包括背景) ///// </summary> ///// <param name="time">淡出时间</param> //public static Queue<ImageEffect> FadeOutAllPic(float time) //{ // AnimationBuilder builder = new AnimationBuilder(); // List<int> charanums = EffectBuilder.GetDepthNum(); // Queue<ImageEffect> animation = new Queue<ImageEffect>(); // animation.Enqueue(EffectBuilder.BlockClick(false)); // foreach (int x in charanums) // { // animation.Enqueue(EffectBuilder.FadeOutByDepth(x, time)); // } // animation.Enqueue(EffectBuilder.FadeOut(EffectBuilder.backgroundSprite, time)); // return animation; //} #endregion #region 新增同步特效 所有图片 /// <summary> /// 淡出所有 /// </summary> /// <param name="back">是否包含背景</param> /// <param name="dialog">是否包含对话框</param> /// <param name="time">淡出时间</param> public static Queue <ImageEffect> FadeOutAll(bool back, bool dialog, float time) { List <int> charanums = EffectBuilder.GetDepthNum(); Queue <ImageEffect> animation = new Queue <ImageEffect>(); animation.Enqueue(EffectBuilder.BlockClick(false)); if (dialog) { animation.Enqueue(EffectBuilder.FadeOutDialog(time)); } foreach (int x in charanums) { animation.Enqueue(EffectBuilder.FadeOutByDepth(x, time)); } if (back) { animation.Enqueue(EffectBuilder.FadeOut(EffectBuilder.backgroundSprite, time)); } return(animation); }