public void Init() { this.transform.localPosition = initPos.transform.localPosition; negativeX = MoveNegative.None; negativeY = MoveNegative.None; negativeZ = MoveNegative.None; DouCount = 0; }
public void XYUp() { DouCount--; negativeY = MoveNegative.MAX; negativeX = MoveNegative.MAX; moveTarY = initPos.transform.localPosition.y + doudongOffset; moveTarX = initPos.transform.localPosition.x + doudongOffset; if (DouCount <= 0) { moveTarY = initPos.transform.localPosition.y; moveTarX = initPos.transform.localPosition.x; } }
public void XYDown() { DouCount--; negativeY = MoveNegative.MIN; negativeX = MoveNegative.MIN; moveTarY = initPos.transform.localPosition.y - doudongOffset; moveTarX = initPos.transform.localPosition.x - doudongOffset; if (DouCount <= 0) { moveTarY = initPos.transform.localPosition.y; moveTarX = initPos.transform.localPosition.x; } }
public void MoveLevel(int level) { negativeZ = MoveNegative.MAX; switch (level) { case 1: moveTarZ = initPos.transform.localPosition.z + 20; break; case 2: moveTarZ = initPos.transform.localPosition.z + 40; break; case 3: moveTarZ = initPos.transform.localPosition.z + 80; break; } }
// Update is called once per frame void Update() { if (Time.timeScale != 0) { //Y Vector3 vecy = camera.transform.localPosition; //摄像机y轴运动方向 if (negativeY == MoveNegative.MIN) { vecy.y -= moveSpeedY; } else if (negativeY == MoveNegative.MAX) { vecy.y += moveSpeedY; } if (negativeY == MoveNegative.MIN) { //摄像机y向小 if (vecy.y < moveTarY) { vecy.y = moveTarY; camera.transform.localPosition = vecy; } else { camera.transform.localPosition = vecy; } } else if (negativeY == MoveNegative.MAX) { //摄像机y向大 if (vecy.y > moveTarY) { vecy.y = moveTarY; camera.transform.localPosition = vecy; } else { camera.transform.localPosition = vecy; } } //摄像机X轴运动方向 if (negativeX == MoveNegative.MIN) { vecy.x -= moveSpeedX; } else if (negativeX == MoveNegative.MAX) { vecy.x += moveSpeedX; } if (negativeX == MoveNegative.MIN) { //摄像机y向小 if (vecy.x < moveTarX) { //vecy.x = moveTarX; //camera.transform.localPosition = vecy; if (DouCount <= 0) { negativeY = MoveNegative.None; negativeX = MoveNegative.None; } else { XYUp(); } } else { camera.transform.localPosition = vecy; } } else if (negativeX == MoveNegative.MAX) { //摄像机y向大 if (vecy.x > moveTarX) { //vecy.x = moveTarX; //camera.transform.localPosition = vecy; if (DouCount <= 0) { negativeY = MoveNegative.None; negativeX = MoveNegative.None; } else { XYDown(); } } else { camera.transform.localPosition = vecy; } } //摄像机Z轴运动方向 if (negativeZ == MoveNegative.MIN) { vecy.z -= moveSpeedZ; } else if (negativeZ == MoveNegative.MAX) { vecy.z += moveSpeedZ; } if (negativeZ == MoveNegative.MIN) { //摄像机y向小 if (vecy.z < moveTarZ) { negativeZ = MoveNegative.None; vecy.z = moveTarZ; camera.transform.localPosition = vecy; } else { camera.transform.localPosition = vecy; } } else if (negativeZ == MoveNegative.MAX) { //摄像机y向大 if (vecy.z > moveTarZ) { negativeZ = MoveNegative.None; vecy.z = moveTarZ; camera.transform.localPosition = vecy; } else { camera.transform.localPosition = vecy; } } } }