Hi there.
I’m working on a 2D platformer game with gun following the cursor for aiming.
When the character is flipped, the rotation limit doesn’t apply anymore. I’m losing it. See below the pictures. The limit is supposed to be the same of when he faces right.
The same applies for the upper limit.
Here’s the code
if (_orientation.x < 0)
{
GameState._isCharacterFlipped = true;
_parent.transform.localScale = new Vector3(-1, 1, 1);
if (_shootFX != null)
{
_shootFXTransform.localEulerAngles = new Vector3(0, 180, 0);
}
if (_orientation.y < transform.localPosition.y)
transform.eulerAngles = new Vector3(0, 0, (Mathf.Clamp(tempAngle, -180, 180 + _aimAngleRange/2)) - 180);
//transform.eulerAngles = new Vector3(0, 0, (Mathf.Clamp(tempAngle, -180, 90)));
else
{
transform.eulerAngles = new Vector3(0, 0, Mathf.Clamp(tempAngle, -180 - _aimAngleRange / 2, 180) - 180);
//transform.eulerAngles = new Vector3(0, 0, Mathf.Clamp(tempAngle, 90, 180));
}
}
else
{
GameState._isCharacterFlipped = false;
if (_shootFX != null)
_shootFXTransform.localEulerAngles = new Vector3(0, 0, 0);
_parent.transform.localScale = new Vector3(1, 1, 1);
transform.eulerAngles = new Vector3(0, 0, Mathf.Clamp(tempAngle, -_aimAngleRange / 2, _aimAngleRange / 2));
}
I’ve lost so many days on this I really don’t know what to do anymore. Please help me.
Thanks