Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Minimum and Maximum Ranges
- private float minX;
- private float maxX;
- private float minY;
- private float maxY;
- // Start Method, Game Space
- float distance = transform.position.z - Camera.main.transform.position.z;
- Vector3 leftMost = Camera.main.ViewportToWorldPoint(new Vector3(0,0,distance));
- Vector3 rightMost = Camera.main.ViewportToWorldPoint(new Vector3(1,0,distance));
- Vector3 bottomMost = Camera.main.ViewportToWorldPoint(new Vector3(0,0f,distance));
- Vector3 topMost = Camera.main.ViewportToWorldPoint(new Vector3(0,1f,distance));
- minX = leftMost.x + padding;
- maxX = rightMost.x - padding;
- minY = bottomMost.y + padding;
- maxY = topMost.y - padding;
- // Update Method, Horiztonal, Vertical and Diagonal Movement
- if (Input.GetKey (KeyCode.UpArrow)) {
- if (Input.GetKey (KeyCode.LeftArrow)) {
- transform.position += Vector3.up * speed * Time.deltaTime;
- transform.position += Vector3.left * speed * Time.deltaTime;
- }
- else if (Input.GetKey (KeyCode.RightArrow)) {
- transform.position += Vector3.up * speed * Time.deltaTime;
- transform.position += Vector3.right * speed * Time.deltaTime;
- }
- else {
- transform.position += Vector3.up * speed * Time.deltaTime;
- }
- }
- else if (Input.GetKey (KeyCode.DownArrow)) {
- if (Input.GetKey (KeyCode.LeftArrow)) {
- transform.position += Vector3.down * speed * Time.deltaTime;
- transform.position += Vector3.left * speed * Time.deltaTime;
- }
- else if (Input.GetKey (KeyCode.RightArrow)) {
- transform.position += Vector3.down * speed * Time.deltaTime;
- transform.position += Vector3.right * speed * Time.deltaTime;
- }
- else {
- transform.position += Vector3.down * speed * Time.deltaTime;
- }
- }
- else if (Input.GetKey (KeyCode.LeftArrow)) {
- if (Input.GetKey (KeyCode.UpArrow)) {
- transform.position += Vector3.left * speed * Time.deltaTime;
- transform.position += Vector3.up * speed * Time.deltaTime;
- }
- else if (Input.GetKey (KeyCode.DownArrow)) {
- transform.position += Vector3.down * speed * Time.deltaTime;
- transform.position += Vector3.left * speed * Time.deltaTime;
- }
- else {
- transform.position += Vector3.left * speed * Time.deltaTime;
- }
- }
- else if (Input.GetKey (KeyCode.RightArrow)) {
- if (Input.GetKey (KeyCode.UpArrow)) {
- transform.position += Vector3.right * speed * Time.deltaTime;
- transform.position += Vector3.up * speed * Time.deltaTime;
- }
- else if (Input.GetKey (KeyCode.DownArrow)) {
- transform.position += Vector3.right * speed * Time.deltaTime;
- transform.position += Vector3.down * speed * Time.deltaTime;
- }
- else {
- transform.position += Vector3.right * speed * Time.deltaTime;
- }
- }
- // Restrict player movement to game space
- float newX = Mathf.Clamp (transform.position.x, minX, maxX);
- float newY = Mathf.Clamp (transform.position.y, minY, maxY);
- transform.position = new Vector3(newX, transform.position.y, transform.position.z);
- transform.position = new Vector3(transform.position.x, newY, transform.position.z);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement