Search Unity

problem with && in Unity 2D

Discussion in 'Scripting' started by splashcoder2090, Nov 18, 2021.

  1. splashcoder2090

    splashcoder2090

    Joined:
    Jul 5, 2021
    Posts:
    4
    I wanted to make this code (not full) and there was an error because there was an invalid expression of &&. Can anyone Help me??


    this is the part that has the error
     
  2. Madgvox

    Madgvox

    Joined:
    Apr 13, 2014
    Posts:
    1,317
    You're not properly calling GetMouseButtonDown, which is resulting in mismatched parentheses. It takes an integer as the first argument:

    Code (CSharp):
    1. Input.GetMouseButtonDown(0)
     
  3. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    38,752
    I recommend you step up your typing accuracy to 100%.

    Tutorials and example code are great, but keep this in mind to maximize your success and minimize your frustration:

    How to do tutorials properly, two (2) simple steps to success:

    Tutorials are a GREAT idea. Tutorials should be used this way:

    Step 1. Follow the tutorial and do every single step of the tutorial 100% precisely the way it is shown. Even the slightest deviation (even a single character!) generally ends in disaster. That's how software engineering works. Every step must be taken, every single letter must be spelled, capitalized, punctuated and spaced (or not spaced) properly, literally NOTHING can be omitted or skipped.

    Fortunately this is the easiest part to get right: Be a robot. Don't make any mistakes.
    BE PERFECT IN EVERYTHING YOU DO HERE!!

    If you get any errors, learn how to read the error code and fix your error. Google is your friend here. Do NOT continue until you fix your error. Your error will probably be somewhere near the parenthesis numbers (line and character position) in the file. It is almost CERTAINLY your typo causing the error, so look again and fix it.

    Step 2. Go back and work through every part of the tutorial again, and this time explain it to your doggie. See how I am doing that in my avatar picture? If you have no dog, explain it to your house plant. If you are unable to explain any part of it, STOP. DO NOT PROCEED. Now go learn how that part works. Read the documentation on the functions involved. Go back to the tutorial and try to figure out WHY they did that. This is the part that takes a LOT of time when you are new. It might take days or weeks to work through a single 5-minute tutorial. Stick with it. You will learn.

    Step 2 is the part everybody seems to miss. Without Step 2 you are simply a code-typing monkey and outside of the specific tutorial you did, you will be completely lost. If you want to learn, you MUST do Step 2.

    Of course, all this presupposes no errors in the tutorial. For certain tutorial makers (like Unity, Brackeys, Imphenzia, Sebastian Lague) this is usually the case. For some other less-well-known content creators, this is less true. Read the comments on the video: did anyone have issues like you did? If there's an error, you will NEVER be the first guy to find it.

    Beyond that, Step 3, 4, 5 and 6 become easy because you already understand!

    Finally, when you have errors...

    Remember: NOBODY here memorizes error codes. That's not a thing. The error code is absolutely the least useful part of the error. It serves no purpose at all. Forget the error code. Put it out of your mind.

    The complete error message contains everything you need to know to fix the error yourself.

    The important parts of the error message are:

    - the description of the error itself (google this; you are NEVER the first one!)
    - the file it occurred in (critical!)
    - the line number and character position (the two numbers in parentheses)
    - also possibly useful is the stack trace (all the lines of text in the lower console window)

    Always start with the FIRST error in the console window, as sometimes that error causes or compounds some or all of the subsequent errors. Often the error will be immediately prior to the indicated line, so make sure to check there as well.

    All of that information is in the actual error message and you must pay attention to it. Learn how to identify it instantly so you don't have to stop your progress and fiddle around with the forum.

    ALSO: screenshots of code are not a thing. If you post a code snippet, ALWAYS USE CODE TAGS:

    How to use code tags: https://forum.unity.com/threads/using-code-tags-properly.143875/
     
  4. BABIA_GameStudio

    BABIA_GameStudio

    Joined:
    Mar 31, 2020
    Posts:
    497
    I can see 3 problems on that line, and absolutely none of them have anything to do with you using &&
    1. You are incorrectly using
    Input.GetMouseButtonDown
    , it should be something like
    Input.GetMouseButtonDown(0)

    2. You have
    ;
    at the end of the line when it shouldn't be there.
    3. You should have ( and ) around your entire if statement:
    if ((Input.GetMouseButtonDown(0)) && (collision.gameObject.CompareTag("plastic")))
    (this might just be my personal preference).

    Also please do not post screenshots of code because when you do this it means nobody can copy/paste your code to test it. Always post code using code tags.
     
    Bunny83 likes this.
  5. Bunny83

    Bunny83

    Joined:
    Oct 18, 2010
    Posts:
    4,011
    Actually he has, he's just missing the
    (0
    from the GetMouseButtonDown call. The closing bracket would be part of the method call. So he has a closing bracket at the end of the if statement.

    Though you're absolutely right about the other points. Another issue is the usage of FixedUpdate and GetMouseButtonDown. Those don't play well together. To use GetMouseButtonDown you have to use Update.

    Another thing that seems weird is that there's a Collision2D stored in the class. This could be the source of other issues. Though we don't know how, when and where this variable gets initialized or set, so we could only speculate.
     
  6. hubawuba

    hubawuba

    Joined:
    Mar 10, 2023
    Posts:
    1
    hay can some one give me movement script so i can copy and paste
     
  7. lordofduct

    lordofduct

    Joined:
    Oct 3, 2011
    Posts:
    8,539
    No, that's not how this works.

    Don't necro posts to beg for code.

    If you want to beg for a script... go ask chatgpt.
     
    Bunny83 and All_American like this.
  8. All_American

    All_American

    Joined:
    Oct 14, 2011
    Posts:
    1,528
    LOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLove it