• 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 BarelyUsedDesert · Feb 01, 2020 at 11:26 PM · inputif statementinput.getaxis

How to use Input.GetAxis in if statement

Hey guys, i'm struggeling with Input.GetAxis right now. I would like to jump when pressing a button on my PS4 controller. I always get the error

error CS0019: Operator '&&' cannot be applied to operands of type 'float' and 'bool' GetAxis is not allowed to be called from a MonoBehaviour constructor (or instance field initializer), call it in Awake or Start instead. Called from MonoBehaviour 'PlayerController'.

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class PlayerController : MonoBehaviour
 {
 
     public int speed = 5;
     public int turnSpeed = 100;
     public Rigidbody rb;
     public bool jumpingAllowance;
     public GameObject playerGun;
 
 
     // Start is called before the first frame update
     void Start()
     {
     }
     
 
     // Update is called once per frame
     void Update()
     {
         transform.Translate(Input.GetAxis("Horizontal") * speed * Vector3.right * Time.deltaTime);
         transform.Translate(Input.GetAxis("Vertical") * speed * Vector3.forward * Time.deltaTime);
 
         if (Input.GetKeyDown(KeyCode.R) && Input.GetKeyDown(KeyCode.W))
         {
             speed = 10;
         }
         else
         {
             speed = 5;
         }
 
         
     }
 
     void FixedUpdate()
     {
         if (Input.GetKeyDown(KeyCode.Space) && jumpingAllowance) 
         {
             jumpingAllowance = false;
             rb.AddForce(Vector3.up * 7, ForceMode.Impulse);
         }
 
         if(Input.GetAxis("Jump") && jumpingAllowance) 
         {
             jumpingAllowance = false;
             rb.AddForce(Vector3.up * 7, ForceMode.Impulse);
         } 
 
 
         
     }
 
 
     void OnCollisionEnter(Collision other)
     {
         if (other.gameObject.CompareTag("Ground"))
         {
             jumpingAllowance = true;
         }
         else
         {
             jumpingAllowance = false;
         }
 
     }
      
 }
 





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 KittenSnipes · Feb 01, 2020 at 11:37 PM

@niedery572

I will only be describing the errors that you have posted to help guide you to the answer. First off get axis is a float that you have neglected to compare to another float in your if statement so of course that statement won’t work. So if you really want to use the GetAxis(“Jump”) in your If statement then t$$anonymous$$nk about what getaxis does and what happens inside the if statement. Remember you must have only Bools inside if statements. So by comparing a float to a float you create such circumstances. Sorry for ranting lol hopefully you can get the answer now.

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.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

143 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

Related Questions

Input returns 0 until released and pressed again if held down before start of scene 0 Answers

Input.GetAxis normal behaviour when both axis inputs active? 0 Answers

Brake on wheel collider "slips" 1 Answer

Joystick Input - "3rd Axis" etc, not sure what works/doesn't 1 Answer

"Input" hints don't start showing up when I type "Input.GetAxis",Input.getAxis not showing up when I begin to type "Input" 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