You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
using UnityEngine;
 | 
						|
using System.Collections;
 | 
						|
 | 
						|
public class ShipPlayerController : MonoBehaviour
 | 
						|
{
 | 
						|
	public float m_speed = 1f;
 | 
						|
	public float m_rotationSpeed = 1f;
 | 
						|
    public Renderer m_moveArea;
 | 
						|
 | 
						|
	void Update()
 | 
						|
	{
 | 
						|
		if (Input.GetKey(KeyCode.LeftArrow))
 | 
						|
		{
 | 
						|
			transform.Rotate(new Vector3(0f, 0f, m_rotationSpeed * Time.deltaTime));
 | 
						|
		}
 | 
						|
 | 
						|
		if (Input.GetKey(KeyCode.RightArrow))
 | 
						|
		{
 | 
						|
			transform.Rotate(new Vector3(0f, 0f, -m_rotationSpeed * Time.deltaTime));
 | 
						|
		}
 | 
						|
 | 
						|
		Vector3 dir = transform.rotation * Vector3.right;
 | 
						|
		transform.position += dir * m_speed * Time.deltaTime;
 | 
						|
 | 
						|
        if (!m_moveArea.bounds.Contains(transform.position))
 | 
						|
        {
 | 
						|
            Vector3 new_pos = transform.position;
 | 
						|
            if (transform.position.x > m_moveArea.bounds.max.x)
 | 
						|
            {
 | 
						|
                new_pos.x = m_moveArea.bounds.min.x;
 | 
						|
            }
 | 
						|
            else if (transform.position.x < m_moveArea.bounds.min.x)
 | 
						|
            {
 | 
						|
                new_pos.x = m_moveArea.bounds.max.x;
 | 
						|
            }
 | 
						|
 | 
						|
            if (transform.position.y > m_moveArea.bounds.max.y)
 | 
						|
            {
 | 
						|
                new_pos.y = m_moveArea.bounds.min.y;
 | 
						|
            }
 | 
						|
            else if (transform.position.y < m_moveArea.bounds.min.y)
 | 
						|
            {
 | 
						|
                new_pos.y = m_moveArea.bounds.max.y;
 | 
						|
            }
 | 
						|
 | 
						|
            transform.position = new_pos;
 | 
						|
        }
 | 
						|
	}
 | 
						|
} |