Unity wie verändere ich die Position von dem Mauszeiger?
Hallo!
Ich versuche gerade, mit Unity einen Escape Room zu erstellen. Ich möchte, dass sich der Spieler dreht, wenn ich die Maus bewege. Das habe ich auch gemacht, aber wie mache ich es, das der Mauszeiger wieder zu der Position zurückkehrt? Also immer wieder zu x: 0 und y: 0 zurückgeht(Ich glaube, das heißt Cursor warping.)? Ich finde es nämlich nicht schön, wenn der einfach am Rand des Bildschirms ist.
Danke!
Also ich meine mit zurückgehen dass es bei dieser Position bleibt, nicht dass ich die Position verändere.
1 Antwort
Du kannst den Mauszeiger in unity einfach zurücksetzen, indem du die Position des Cursors auf die Mitte des bildschirms (x: screen,width / 2, y: Screen height / 2) setzt und den CursorLockMode auf confined oder locked setzt, je nachdem was du bevorzugst, Hier ein beispielcode: cursor lockstate = CursorLockMode locked; cursor.visible = false; float sensitivity = 5.0f; void Update() { float mousex = Input.GetAxis("Mouse X") * sensitivity * time,deltatime; float mousey = Input,GetAxis("Mouse Y") * sensitivity * time.deltatime; transform rotate(vector3.up, mousex); transform rotate(vector3.left, mousey); float limit = 90 0f; transform localeulerangles = new Vector3( Mathf,Clamp(transform,localeulerangles.x, -limit, limit), transform localeulerangles,y, 0); cursor,lockstate = CursorLockMode confined; cursor,visible = false; if(Input GetKeyDown(KeyCode Escape)) { cursor.lockstate = CursorLockMode,None; cursor,visible = true; } if(input,getmousebuttondown(0)) { raycasthit hit; if(physics raycast(transform.position, transform.forward, out hit, 10 0f)) { if(hit.collider gameobject,comparetag("interactable")) { hit.collider,gameobject.sendmessage("interact"); } } } cursor.lockstate = CursorLockMode.locked; cursor visible = false; cursor.lockstate = CursorLockMode.confined; }