- Home /
Question by
SteliosDaVitzi · Sep 21, 2016 at 06:33 PM ·
rotationinputmouseposition2d platformerxbox controller
How i replace mouse position with xbox controller's joystick?
Hi!I'm making a 2d Game where the gun of the player rotates following the mouse.I want the gun to point anywhere the joystick turns.I've tried to change the mouse options to joystick in input manager,but with no luck.I'm new in Unity and any tip will be helpful.
using UnityEngine; using System.Collections;
public class Handrotation : MonoBehaviour {
public int rotationOffset = 90;
public Transform Player;
private bool freeze;
void Start()
{
}
void Update ()
{
Vector3 difference = Camera.main.ScreenToWorldPoint (Input.mousePosition) - transform.position; // subtracting the position of the player from the mouse position.
difference.Normalize (); //Normalizing the vector.meaning that all the sum of the vector will be equal to 1.
float rotZ = Mathf.Atan2 (difference.y, difference.x) * Mathf.Rad2Deg;// find the angle in degrees
if (Player.localScale.x >= 0.7f ) {
transform.rotation = Quaternion.Euler (0f,0f,rotZ + rotationOffset);
} else if(Player.localScale.x <= -0.7f ) {
transform.rotation = Quaternion.Inverse(Quaternion.Euler (0f, 0f,-rotZ +180));
}
}
}
Comment
Your answer
Follow this Question
Related Questions
How to rotate sphere when moving in Unity 1 Answer
Xbox One Controller triggers don't work on Mac 2 Answers
Shooting in direction of the character movement 2 Answers
How to rotate with mouse scroll wheel and new input system? 1 Answer
Rotate player to aim on one axis (Z-axis) towards mouse position/joystick - 2.5D (3D) 0 Answers