// 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(); }
public void ScoredByRed() { ScoreOf2P++; TxtScore.text = string.Format("{0}:{1}", ScoreOf1P, ScoreOf2P); TxtScoreNotify.text = "红色得分"; _readyMod(); m_nextState = BallDefine.BallStateDefine.BallStateDefine_Blue; }
public void SetPlayerPenalty(BallDefine.BallStateDefine rState) { m_arrayPlayer[(int)rState - 1].SetPenaltyPlayer(); m_bBallMove = false; m_sprite.color = Color.white; blueMove.Reposition(); redMove.Reposition(); }
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; } }
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; }
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; } }
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); } } }