• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by utbalegem · Oct 15, 2020 at 07:43 AM · 2dshooteraiming

Flipping shot point 2d shooter

Im creating a 2D shooter in Unity, and i have the movement script and. the shooting script basically fully complete. But i realized when I'm flipping my character, my shot-points flip erratically, making it so my character is basically shooting 180 degrees from where hes aiming, but flipping back doesnt solve it. Ive been stuck on this for a while, knowing that its probably an extremely simple fix but i cant seem to put my finger on it. Any help is nice.

Heres my aiming code:

      private void Update()
    {
     Vector3 gunPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
     if (gunPos.x < transform.position.x)
     {
         transform.eulerAngles = new Vector3(transform.rotation.x, 180f, transform.rotation.z);
     }
     else
     {
         transform.eulerAngles = new Vector3(transform.rotation.x, 0f, transform.rotation.z);
     }

     Vector3 mousePos = Input.mousePosition;
     Vector3 gunPosition = Camera.main.WorldToScreenPoint(transform.position);
     mousePos.x = mousePos.x - gunPosition.x;
     mousePos.y = mousePos.y - gunPosition.y;
     float gunAngle = Mathf.Atan2(mousePos.y, mousePos.x) * Mathf.Rad2Deg;
     if (Camera.main.ScreenToWorldPoint(Input.mousePosition).x < transform.position.x)
     {
         transform.rotation = Quaternion.Euler(new Vector3(180f, 0f, -gunAngle));
     }
     else
     {
         transform.rotation = Quaternion.Euler(new Vector3(0f, 0f, gunAngle));
     }

And heres my character flip code in my movement script:

      if ((velocity.x > 0 && !facingRight) || (velocity.x < 0 && facingRight))
     {
         flip();
     }

   void flip()
 {
     facingRight = !facingRight;
     Vector2 newScale = transform.localScale;
     newScale.x *= -1;
     transform.localScale = newScale;

 }
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Odinwastaken · Oct 15, 2020 at 09:13 AM

Are you saying if the player is shooting left/flipped it still shoots right? if so instead of flipping the players scale just rotate the player instead, example.

 //Flipping
 private void Flip() { 
     facingRight = !facingRight;
     transform.Rotate(0f, 180f, 0f);
 }
Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image utbalegem · Oct 15, 2020 at 11:42 AM 0
Share

I tried that, but my shot point (where the bullet instantiates in front of the weapon) is unaltered, and if i rotate it with the weapon it shoots backwards. It also messes with my movement script. $$anonymous$$y weapon is aiming at the mouse btw.

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

300 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

How to make a 2D character points his gun to the mouse position? 2 Answers

How do I get 2D Soldat-style camera movement/aiming? 0 Answers

Top Down shooter Moving while Shooting 0 Answers

I'm trying to make it so when I left click, my character's sword slash sprite appears towards the direction of the mouse 0 Answers

Instantiating a prefab/bullet and sending it to my mouse position?? 0 Answers

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges