void Start() { boatRB = GetComponent <Rigidbody>(); lefttrans = GameObject.Find("LeftTransmission"); pscript = lefttrans.GetComponent <LeftTrans>(); boatController = GetComponent <BoatController>(); }
// Update is called once per frame void Update() { if (controlByOthers) { return; } if (!inited) { return; } var nowPos = GlobalVar.G_Player.position; if (nowPos == DefaultPos) { return; } #region 背景跟随 var temp = (nowPos - this.beforePlayerPos); temp = new Vector3(temp.x * this.X_Speed, temp.y * this.Y_Speed, 0); MidTrans.Translate(temp * 0.01f, Space.World); RightTrans.Translate(temp * 0.01f, Space.World); LeftTrans.Translate(temp * 0.01f, Space.World); #endregion #region 轮替背景 //如果玩家在右侧 var halfCameraX = Camera.main.orthographicSize * Camera.main.aspect; if (SpriteRendererSize.x / 2 - (RightTrans.position.x - nowPos.x) > halfCameraX) { var mid = MidTrans; MidTrans = RightTrans; RightTrans = LeftTrans; LeftTrans = mid; RightTrans.position = MidTrans.position + SpriteRendererSize.x * Vector3.right; } //如果玩家在左侧 if (SpriteRendererSize.x / 2 - (nowPos.x - LeftTrans.position.x) > halfCameraX) { var mid = MidTrans; MidTrans = LeftTrans; LeftTrans = RightTrans; RightTrans = mid; LeftTrans.position = MidTrans.position - SpriteRendererSize.x * Vector3.right; } #endregion this.beforePlayerPos = nowPos; }