1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 5 //图层交错效果 6 public class InterlacingOfLayers : MonoBehaviour 7 { 8 public Transform Cam; //摄像机位置 9 public float MoveRate; //移动幅度 10 private float StartPointX, StartPointY; //开始的X点,Y点 11 public bool LockY; //Y轴是否移动,需要Y轴移动不用勾,不需要就勾 12 13 // Start is called before the first frame update 14 void Start() 15 { 16 StartPointX = transform.position.x; 17 StartPointY = transform.position.y; 18 } 19 20 // Update is called once per frame 21 void Update() 22 { 23 //如果Y轴不移动 24 if (LockY) 25 { 26 //当前挂在的对象的坐标 = 新的二维向量坐标(开始坐标 + 摄像机的x坐标 * 移动幅度 , y轴不变) 27 transform.position = new Vector2(StartPointX + Cam.position.x * MoveRate, transform.position.y); 28 } 29 //移动X,Y轴 30 else 31 { 32 transform.position = new Vector2(StartPointX + Cam.position.x * MoveRate, StartPointY + Cam.position.y * MoveRate); 33 } 34 } 35 }
记得将主摄像机和移动幅度设置好
效果图