Example #1
0
    // Start is called before the first frame update
    void Start()
    {
        m_fCurrentBallSpeed = ballSpeed;
        m_fCurrentAddition  = 0;
        m_vecSelf           = new Vector2();
        m_selfCollider      = GetComponent <Collider2D>();
        m_randArrayState    = new BallDefine.BallStateDefine[2];
        m_randArrayState[0] = BallDefine.BallStateDefine.BallStateDefine_Blue;
        m_randArrayState[1] = BallDefine.BallStateDefine.BallStateDefine_Red;

        m_randArrayColor    = new Color[2];
        m_randArrayColor[0] = COLOR_Blue;
        m_randArrayColor[1] = COLOR_Red;
        m_vecMoveDirection  = Vector3.right;
        StateOfBall         = BallDefine.BallStateDefine.BallStateDefine_None;
        m_sprite            = GetComponent <SpriteRenderer>();

        m_arrayPlayer    = new PlayerMovement[2];
        m_arrayPlayer[0] = blueMove;
        m_arrayPlayer[1] = redMove;

        RandPlayerPenalty();

        m_vecTouchPos   = new Vector3();
        m_vecReflectPos = new Vector3();
        m_vecInNormal   = new Vector3();
    }
Example #2
0
 public void ScoredByRed()
 {
     ScoreOf2P++;
     TxtScore.text       = string.Format("{0}:{1}", ScoreOf1P, ScoreOf2P);
     TxtScoreNotify.text = "红色得分";
     _readyMod();
     m_nextState = BallDefine.BallStateDefine.BallStateDefine_Blue;
 }
Example #3
0
 public void SetPlayerPenalty(BallDefine.BallStateDefine rState)
 {
     m_arrayPlayer[(int)rState - 1].SetPenaltyPlayer();
     m_bBallMove    = false;
     m_sprite.color = Color.white;
     blueMove.Reposition();
     redMove.Reposition();
 }
Example #4
0
 private void _changeBallColor(BallDefine.BallStateDefine rState)
 {
     StateOfBall = rState;
     if (rState == BallDefine.BallStateDefine.BallStateDefine_Blue)
     {
         m_sprite.color = COLOR_Blue;
     }
     else if (rState == BallDefine.BallStateDefine.BallStateDefine_Red)
     {
         m_sprite.color = COLOR_Red;
     }
     else
     {
         m_sprite.color = Color.white;
     }
 }
Example #5
0
    public void ResetBall(BallDefine.BallStateDefine rPlayer, Transform transPlayer)
    {
        m_fCurrentBallSpeed = ballSpeed;
        m_fCurrentAddition  = 0;
        //transform.position = new Vector3();
        transform.SetParent(null);
        transform.localRotation = new Quaternion();

        m_vecMoveDirection = TransCenter.position - transform.position;
        m_vecMoveDirection = m_vecMoveDirection.normalized * MoveSpeed;

        if (rPlayer == BallDefine.BallStateDefine.BallStateDefine_Red)
        {
            m_futureState = BallDefine.BallStateDefine.BallStateDefine_Blue;
        }
        else if (rPlayer == BallDefine.BallStateDefine.BallStateDefine_Blue)
        {
            m_futureState = BallDefine.BallStateDefine.BallStateDefine_Red;
        }
        scoreCom.GamePause = false;
        m_bBallMove        = true;
    }
Example #6
0
 public void PlayerConfirm(BallDefine.BallStateDefine rState)
 {
     if (rState == BallDefine.BallStateDefine.BallStateDefine_Blue)
     {
         m_bBlueConfirm      = true;
         TxtBlueConfirm.text = string.Format("蓝色完毕");
     }
     else if (rState == BallDefine.BallStateDefine.BallStateDefine_Red)
     {
         m_bRedConfirm      = true;
         TxtRedConfirm.text = string.Format("红色完毕");
     }
     if (m_bBlueConfirm == true && m_bRedConfirm == true)
     {
         m_bBlueConfirm = false;
         m_bRedConfirm  = false;
         ballMove.SetPlayerPenalty(m_nextState);
         TxtBlueConfirm.text = string.Format("");
         TxtRedConfirm.text  = string.Format("");
         TxtScoreNotify.text = "";
         GamePause           = false;
     }
 }
Example #7
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.tag == BallDefine.TagOfPlayer)
        {
            Vector2 vecTouchPoint = new Vector2();
            bool    bRes          = GetCollisionPoint(out vecTouchPoint, BallDefine.TagOfPlayer);
            if (bRes == false)
            {
                Debug.Assert(false);
            }
            m_vecSelf.Set(transform.position.x, transform.position.y);
            if (collision.GetComponent <PlayerMovement>().PlayerOwnState == BallDefine.BallStateDefine.BallStateDefine_Blue)
            {
                m_futureState = BallDefine.BallStateDefine.BallStateDefine_Red;
            }
            else if (collision.GetComponent <PlayerMovement>().PlayerOwnState == BallDefine.BallStateDefine.BallStateDefine_Red)
            {
                m_futureState = BallDefine.BallStateDefine.BallStateDefine_Blue;
            }
            m_vecTouchPos.Set(vecTouchPoint.x, vecTouchPoint.y, 0);
            Vector3 vecNormal = TransCenter.position - collision.GetComponent <Transform>().parent.position;
            m_vecInNormal   = vecNormal.normalized;
            m_vecReflectPos = Vector3.Reflect(m_vecTouchPos.normalized, m_vecInNormal).normalized;

            m_vecMoveDirection = m_vecReflectPos.normalized * MoveSpeed;

            m_fCurrentAddition += SpeedAddition;
            m_fCurrentBallSpeed = ballSpeed * (1 + m_fCurrentAddition);
        }
        else if (collision.tag == BallDefine.TagOfBlock)
        {
            Vector2 vecTouchPoint = new Vector2();
            bool    bRes          = GetCollisionPoint(out vecTouchPoint, BallDefine.TagOfBlock);
            if (bRes == false)
            {
                Debug.Assert(false);
            }
            m_vecSelf.Set(transform.position.x, transform.position.y);

            m_vecTouchPos.Set(vecTouchPoint.x, vecTouchPoint.y, 0);
            Vector3 vecNormal = TransCenter.position - collision.GetComponent <Transform>().position;
            m_vecInNormal   = vecNormal.normalized;
            m_vecReflectPos = Vector3.Reflect(m_vecTouchPos.normalized, m_vecInNormal).normalized;

            m_vecMoveDirection = m_vecReflectPos.normalized * MoveSpeed;

            m_fCurrentAddition += SpeedAddition;
            m_fCurrentBallSpeed = ballSpeed * (1 + m_fCurrentAddition);
            collision.gameObject.SetActive(false);
        }
        else if (collision.tag == BallDefine.TagOfChangeArea)
        {
            if (m_futureState == BallDefine.BallStateDefine.BallStateDefine_Blue)
            {
                _changeBallColor(BallDefine.BallStateDefine.BallStateDefine_Blue);
            }
            else if (m_futureState == BallDefine.BallStateDefine.BallStateDefine_Red)
            {
                _changeBallColor(BallDefine.BallStateDefine.BallStateDefine_Red);
            }
        }
    }