Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class CameraScript : MonoBehaviour
  5. {
  6. private Transform[] playerTransform;
  7. public float yOffset;
  8. public float minDist;
  9. private float xMin, yMin, xMax, yMax;
  10.  
  11. void Start()
  12. {
  13. GameObject[] players = GameObject.FindGameObjectsWithTag("Player");
  14. playerTransform = new Transform[players.Length];
  15. for (int i = 0; i < players.Length; i++)
  16. {
  17. playerTransform[i] = players[i].transform;
  18. }
  19. }
  20.  
  21. void LateUpdate()
  22. {
  23.  
  24. if (playerTransform.Length == 0)
  25. {
  26. Debug.Log("No Player");
  27. return;
  28. }
  29.  
  30. xMin = xMax = playerTransform[0].position.x;
  31. yMin = yMax = playerTransform[0].position.x;
  32.  
  33. for (int i = 0; i < playerTransform.Length; i++)
  34. {
  35. if (playerTransform[i].position.x < xMin)
  36. xMin = playerTransform[i].position.x;
  37. if (playerTransform[i].position.x > xMax)
  38. xMax = playerTransform[i].position.x;
  39. if (playerTransform[i].position.y < yMin)
  40. yMin = playerTransform[i].position.y;
  41. if (playerTransform[i].position.x > yMax)
  42. yMax = playerTransform[i].position.y;
  43. }
  44.  
  45. float xMid = (xMin + xMax) / 2;
  46. float yMid = (yMin + yMax) / 2;
  47.  
  48. float dist = xMax - xMin;
  49. float maxDist = xMax + xMin;
  50. if(dist < minDist)
  51. {
  52. dist = minDist;
  53. }
  54.  
  55. Vector3 tempPos = new Vector3(xMid, (yMid + yOffset), -dist);
  56. transform.position = tempPos;
  57. }
  58.  
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement