Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • 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
1
Question by rOBY GAMES · May 05, 2015 at 08:34 PM · 2dplayerplatform

2d platformer player shoots

Hello everyone!

Not very good in the script, I'm learning.

I'm trying to write this script for the player to shoot in 2D platformer. Shooting in x-axis and -x axis, right and left. the position and the position where the player looks or the right or left.

Now it does not work in the game, I tried everything before you ask a question here.

I show the script:

 #pragma strict
 
 var granataPrefab : Transform;
 
 function Update ()
 { 
    if (Input.GetMouseButton(1))
 {
    if(Collisions.GRENADE_AMMO > 0)
    
                 
                                           
     var crate = Instantiate(granataPrefab, transform.position, Quaternion.identity);             
                   
     crate.rigidbody2D.velocity.x = Input.GetAxis("Horizontal") * 10;               
      
      Collisions.GRENADE_AMMO --;
      print("YOU NOW HAVE " + Collisions.GRENADE_AMMO + " GRENADES");               
 }
 }
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 Sprawl · May 05, 2015 at 09:47 PM

Input.GetAxis("Horizontal") will return you a value between -1 and 1 depending on the buttons assigned to that axis. Go into Edit -> Project Settings -> Input to change which keys are assigned to the input "Horizontal". By default, I believe it is the keys "left" and "right".

Now, You're probably getting an error at :

 crate.rigidbody2D.velocity.x = Input.GetAxis("Horizontal") * 10;  

This is because you cannot change only the x value of the velocity, you can only read it. Instead, try something like this :

 crate.rigidbody2D.velocity = new Vector2( Input.GetAxis("Horizontal") * 10, 0);

If you're using a joystick, this means you can shoot the projectile at 50% speed if you only pull the joystick 50% of the way towards the left or right. If you always want the projectile to fire in the direction of the joystick no matter how far it's pulled. Only get the Sign of "Input.GetAxis("Horizontal")".

Comment
Add comment · 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

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.

Follow this Question

Answers Answers and Comments

20 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

Related Questions

AI follows player between platforms in 2D? 1 Answer

Make Player Move Slow Over Grass 1 Answer

Finding any objects below or above object at ANY POINT? 1 Answer

My RigidBody2D+BoxCollider2D is getting stuck on corners 1 Answer

Need help with 2D Attack, attacking in every direction 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges