Пример #1
0
 void Start()
 {
     boatRB         = GetComponent <Rigidbody>();
     lefttrans      = GameObject.Find("LeftTransmission");
     pscript        = lefttrans.GetComponent <LeftTrans>();
     boatController = GetComponent <BoatController>();
 }
Пример #2
0
        // 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;
        }