コード例 #1
0
ファイル: PotatoMovable.cs プロジェクト: SuperMenezes/Prog1T2
        public bool Move(GameTime gameTime)
        {
            if (!m_delayTimer.Started)
            {
                m_delayTimer.Start(gameTime);
            }
            m_delayTimer.Update(gameTime);

            //Não atualiza depois de terminado
            if (m_delayTimer.Finished)
            {
                if (!m_moveTimer.Started)
                {
                    m_moveTimer.Start(gameTime);
                }
                m_moveTimer.Update(gameTime);
            }

            Posicao = m_startPos + (m_offsetPos * m_moveTimer.ElapsedTime);

            BoundingBox.X = (int)Posicao.X;
            BoundingBox.Y = (int)Posicao.Y;

            return(m_moveTimer.Finished);
        }
コード例 #2
0
        public override void Update(GameTime p_gametime)
        {
            switch (State)
            {
            case EnemyState.HOLD:
                if (!m_startTimer.Started)
                {
                    m_startTimer.Start(p_gametime);
                }
                if (m_startTimer.Update(p_gametime))
                {
                    State = EnemyState.MOVING;
                }
                break;

            case EnemyState.MOVING:
                if (Move(p_gametime))
                {
                    if (moveindex < m_moveSequence.Count)
                    {
                        MoveTo(m_moveSequence[moveindex], 0.1f, 2);
                        moveindex++;
                    }
                    else
                    {
                        State = EnemyState.GONE;
                    }
                }

                break;
            }
            BaseSprite.Update(p_gametime);
        }