Example #1
0
        public override bool Init()
        {
            m_PlaySpeedMode         = EPlaySpeedMode.E_Mul_1;
            m_Update_Frame          = new UpdateTime(GameConstant.DeltaTimeF);
            m_Update_Frame.Evt_Act += Update_Frame;

            return(base.Init());
        }
Example #2
0
        public override void Update()
        {
            //////////////////////////////////////////////////////////////////////////
            ///*********************游戏播放器
            if (m_IsStop)
            {
                return;
            }
            //////////////////////////////////////////////////////////////////////////
            ////一秒播放60个逻辑帧,收到新的逻辑帧就刷新
            ///
            ////触发追赶

            if ((FrameCount + GameConstant.FrameTolerate) < m_PlayerRecoder.GetEndFrameId())
            {
                m_PlaySpeedMode = EPlaySpeedMode.E_CatchUp;
            }
            else if ((FrameCount + GameConstant.Play_Mul4_Trg) < m_PlayerRecoder.GetEndFrameId())
            {
                m_PlaySpeedMode = EPlaySpeedMode.E_Mul_4;
            }
            else if ((FrameCount + GameConstant.Play_Mul2_Trg) < m_PlayerRecoder.GetEndFrameId())
            {
                m_PlaySpeedMode = EPlaySpeedMode.E_Mul_2;
            }
            else
            {
                m_PlaySpeedMode = EPlaySpeedMode.E_Mul_1;
            }


            if (PlaySpeedMode == EPlaySpeedMode.E_Mul_1)
            {
                GameFrameTurn(GameConstant.DeltaTimeF);
            }
            else if (PlaySpeedMode == EPlaySpeedMode.E_Mul_2)
            {
                Log.Debug("2加速-FrameCount:" + FrameCount + "---GetEndFrameId:" + m_PlayerRecoder.GetEndFrameId());
                GameFrameTurn_Mul(GameConstant.Play_Mul_2);
            }
            else if (PlaySpeedMode == EPlaySpeedMode.E_Mul_4)
            {
                Log.Debug("4加速-FrameCount:" + FrameCount + "---GetEndFrameId:" + m_PlayerRecoder.GetEndFrameId());
                GameFrameTurn_Mul(GameConstant.Play_Mul_4);
            }
            else //触发追赶播放
            {
                Log.Debug("追赶加速-FrameCount:" + FrameCount + "---GetEndFrameId:" + m_PlayerRecoder.GetEndFrameId());
                while (FrameCount < m_PlayerRecoder.GetEndFrameId())
                {
                    GameFrameTurn(GameConstant.DeltaTimeF);
                }
            }
        }