Пример #1
0
        private void AddObject(Vector2DF position, EasingStart start, EasingEnd end)
        {
            var heart = Engine.Graphics.CreateTexture2D("Heart.png");
            var obj = new ReactiveTextureObject2D()
            {
                Texture = heart,
                Position = position,
            };
            obj.SetCenterPosition(CenterPosition.CenterCenter);
            Engine.AddObject2D(obj);

			obj.OnUpdateEvent.DoEasingY(obj, position.Y + 400, start, end, 120)
				.Subscribe();
        }
Пример #2
0
		/// <summary>
		/// スクロールを滑らかに行うように準備します。
		/// </summary>
		/// <param name="start">アニメーションの開始速度。</param>
		/// <param name="end">アニメーションの終了速度。</param>
		/// <param name="time">アニメーションにかける時間。</param>
		public void SetEasingBehaviorUp(EasingStart start, EasingEnd end, int time)
		{
			getCameraMoving_ = target => OnUpdateEvent
				.Select(t => camera_.Src.Position.To2DF())
				.EasingVector2DF(target, EasingStart.StartRapidly2, EasingEnd.EndSlowly3, time)
				.Select(p => camera_.Src.ToF().WithPosition(p));
		}
Пример #3
0
		/// <summary>
		/// 要素の移動を滑らかなアニメーションで表現するように準備します。
		/// </summary>
		/// <param name="start">アニメーションの開始速度。</param>
		/// <param name="end">アニメーションの終了速度。</param>
		/// <param name="time">アニメーションにかけるフレーム数。</param>
		public void SetEasingBehaviorUp(EasingStart start, EasingEnd end, int time)
		{
			GetNewItemPosition = (o, v) => OnUpdateEvent.TakeWhile(f => o.IsAlive)
				.Select(t => o.Position)
				.EasingVector2DF(v, start, end, time);
		}
Пример #4
0
		/// <summary>
		/// Easingの三次方程式の項3つを求める。
		/// </summary>
		/// <param name="s">始点の角度</param>
		/// <param name="e">終点の角度</param>
		/// <returns>項</returns>
		public static float[] GetEasingFunction(EasingStart s, EasingEnd e)
		{
			return GetEasingFunction((float)s, (float)e);
		}