Пример #1
0
        /// <summary>
        /// フレームごとに呼ばれます。
        /// </summary>
        protected override void OnEnterFrame(EnterFrameEventArgs e)
        {
            base.OnEnterFrame(e);

            this.count += 1;

            var now = DateTime.Now;
            var diff = now - this.prevTime;
            if (diff >= TimeSpan.FromSeconds(1.0))
            {
                Fps = this.count / diff.TotalSeconds;
                FpsChanged.SafeRaiseEvent(this, EventArgs.Empty);

                this.prevTime = now;
                this.count = 0;
            }
        }
Пример #2
0
        /// <summary>
        /// フレーム毎に呼ばれます。
        /// </summary>
        public void DoEnterFrame(TimeSpan elapsedTime)
        {
            if (RemoveMe)
            {
                return;
            }

            // 初期化はフレームを分けます。
            if (!this.initialized)
            {
                Initialize();

                // 初期化フレームと開始フレームを分ける場合のみ
                // ここで処理を終了します。
                if (!IsFastInitialize)
                {
                    return;
                }
            }

            if (!this.started)
            {
                if (!Start())
                {
                    return;
                }
            }

            // もし時間制限があればその時間経過後はオブジェクトを削除します。
            this.progressSpan += elapsedTime;
            if (this.progressSpan >= Duration && (AutoRemove || !HasChildren()))
            {
                Kill();
                return;
            }

            var e = new EnterFrameEventArgs(elapsedTime, progressSpan, Duration);

            OnEnterFrame(e);

            // 表示行列を更新します。
            ModelGroup.Transform = CreateMatrix();

            UpdateChildren(elapsedTime);
        }
Пример #3
0
        /// <summary>
        /// フレームごとに呼ばれます。
        /// </summary>
        protected override void OnEnterFrame(EnterFrameEventArgs e)
        {
            base.OnEnterFrame(e);

            this.count += 1;

            var now  = DateTime.Now;
            var diff = now - this.prevTime;

            if (diff >= TimeSpan.FromSeconds(1.0))
            {
                Fps = this.count / diff.TotalSeconds;
                FpsChanged.SafeRaiseEvent(this, EventArgs.Empty);

                this.prevTime = now;
                this.count    = 0;
            }
        }
Пример #4
0
 /// <summary>
 /// フレーム枚の更新処理を行います。
 /// </summary>
 protected virtual void OnEnterFrame(EnterFrameEventArgs e)
 {
     EnterFrame.SafeRaiseEvent(this, e);
 }
Пример #5
0
        /// <summary>
        /// フレーム毎に呼ばれます。
        /// </summary>
        public void DoEnterFrame(TimeSpan elapsedTime)
        {
            if (RemoveMe)
            {
                return;
            }

            // 初期化はフレームを分けます。
            if (!this.initialized)
            {
                Initialize();

                // 初期化フレームと開始フレームを分ける場合のみ
                // ここで処理を終了します。
                if (!IsFastInitialize)
                {
                    return;
                }
            }

            if (!this.started)
            {
                if (!Start()) return;
            }

            // もし時間制限があればその時間経過後はオブジェクトを削除します。
            this.progressSpan += elapsedTime;
            if (this.progressSpan >= Duration && (AutoRemove || !HasChildren()))
            {
                Kill();
                return;
            }

            var e = new EnterFrameEventArgs(elapsedTime, progressSpan, Duration);
            OnEnterFrame(e);

            // 表示行列を更新します。
            ModelGroup.Transform = CreateMatrix();

            UpdateChildren(elapsedTime);
        }
Пример #6
0
 /// <summary>
 /// フレーム枚の更新処理を行います。
 /// </summary>
 protected virtual void OnEnterFrame(EnterFrameEventArgs e)
 {
     EnterFrame.SafeRaiseEvent(this, e);
 }