# Input

## Tangentbordet (och handkontroller)

### Input.GetAxisRaw()

En metod som hämtar det nuvarande värdet hos en [axel](https://unity.progdocs.se/grundlaggande-koncept/knappar-och-axlar). Returnerar resultatet som en float.

```csharp
float moveX = Input.GetAxisRaw("Horizontal");
```

## Musen

### Input.mousePosition

En [Vector3](https://unity.progdocs.se/datatyper-och-synlighet#vector3) som innehåller musens nuvarande position i "screen space", alltså uttryckt i pixlar utifrån origo uppe i vänstra hörnet.

### Camera.main.ScreenToWorldPoint()

En metod som förvandlar en vektor som mäter position i "screen space" till en vektor som mäter position utifrån Unityenheter och unitys grid.

```csharp
Vector3 mousePosOnScreen = Input.mousePosition;
Vector3 mousePosInWorld = Camera.main.ScreenToWorldPoint(mousePosOnScreen);
```

### OnMouseUp()

En händelsemetod som man kan lägga till sitt projekt, lite som OnEnterCollision eller [Start eller Update](https://unity.progdocs.se/grundlaggande-koncept/monobehavior#haendelse-metoder). Den anropas ifall användaren klickar på objektet. Det kräver att objektet har en collider.

```csharp
private void OnMouseUp()
{
    print("hey");
}
```

### Cursor.lockState

Låter dig begränsa muspelarens rörelser. lockState kan ha tre olika värden:

* `CursorLockMode.Locked` – pekaren är helt fast
* `CursorLockMode.Confined` – pekaren kan inte lämna fönstret
* `CursorLockMode.None` – pekaren begränsas inte.

Exempel:

```csharp
Cursor.lockState = CursorLockMode.Locked;
```

### Cursor.visible

Bestämmer ifall muspekaren ska vara synlig.

```csharp
Cursor.visible = false;
```
