Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 /
  • Help Room /
avatar image
0
Question by Arcady6011 · Apr 03, 2018 at 04:00 PM · c#script.levelpickuplose

Rolling Ball Game - How do I set it so the Player only wins, if they reach the finish line, with a certain number in Count?,

Hiya, right so I'm working off the Rolling Ball Game tutorial on Unity (It is Unity 5). But I'm building up from it. My game has become more of platforming type rolling ball game. I've got pretty far by looking up what I need. But this one last thing I need to do is seemingly too particular to me, to find any information on, anywhere else.


So to put it simply, in my game the Player must get to the end of level, but on the way they must collect all the PickUps, or they lose.


I've got everything sorted, jumping, respawning, moving obstacles, rotating platforms, etc, along with everything else the tutorial taught me.


But what I cant seem to work out is how to set a condition where, if the Player reaches the "Finish Point" (AKA; Hits a Box Collider with a Trigger set to it. I'd assume), if the Count (That's the count for the PickUps in the UI) equals less than 14 they lose, but it equals 14 or more they win.


I know, its extremely simple I'm sure. But scripting alludes me. If I see a script and its explained to me step by step, I just barley understand what it does. Barley.


Please if anyone can show me a script, or even just link me to a tutorial on this I'd truly appreciate it. I've been working at this for weeks now, pretty much on my own. This really is the last thing I need to get this working. I just want this level to work fully.


Thank you for reading, I hope you can help me. ,

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 Arcady6011 · Apr 04, 2018 at 07:09 PM

Ok so I've tried to add some scripting to the Player Controller:

 public float speed;
 public Text countText;
 public Text winText;
 public Text loseText;
 public AudioClip Collection;

 private AudioSource source;
 private Rigidbody rb;
 private int count;

 void Start ()
 {
     source = GetComponent<AudioSource>();
     rb = GetComponent<Rigidbody>();
     count = 0;
     SetCountText ();
     winText.text = "";
 }

 void FixedUpdate ()
 {
     float moveHorizontal = Input.GetAxis ("Horizontal");
     float moveVertical = Input.GetAxis ("Vertical");

     Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);

     rb.AddForce (movement * speed);
 }

 void OnTriggerEnter(Collider other) 
 {
     if (other.gameObject.CompareTag ( "Pick Up"))
     {
         other.gameObject.SetActive (false);
         count = count + 1;
         SetCountText ();
         source.PlayOneShot (Collection, 1F);
     
     }
 }

 void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.CompareTag ("TheEnd")) {
         if (count <= 0) {
             loseText.text = "You Lose!";
         }
     }
 }

 void SetCountText ()
 {
     countText.text = "Count: " + count.ToString ();
     if (count >= 20)
     {
         winText.text = "You Win!";
     }
 }

But Of course it doesn't work, because you can't have two "void OnTriggerEnter(Collider other)". However when I tried to add another If statement to the first "void OnTriggerEnter(Collider other), that didn't work either.


Is there anyway to have like an Else or Elif type thing? If that makes any sense. Yeah scripting really isn't my area, sorry.

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 Arcady6011 · Apr 06, 2018 at 01:24 PM 0
Share

Right I'm now trying a different way, where ins$$anonymous$$d of adding another piece of text, I make the winText change to say You Lose! if the count is too low. In the end the player doesn't know that its called winText, only me, so I can make it say both You Win and You Lose.

 public Text countText;
 public Text winText;
 public AudioClip Collection;

 private AudioSource source;
 private Rigidbody rb;
 private int count;

 void Start ()
 {
     source = GetComponent<AudioSource>();
     rb = GetComponent<Rigidbody>();
     count = 0;
     SetCountText ();
     winText.text = "";
 }

 void FixedUpdate ()
 {
     float moveHorizontal = Input.GetAxis ("Horizontal");
     float moveVertical = Input.GetAxis ("Vertical");

     Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);

     rb.AddForce (movement * speed);
 }

 void OnTriggerEnter(Collider other) 
 {
     if (other.gameObject.CompareTag ( "Pick Up"))
     {
         other.gameObject.SetActive (false);
         count = count + 1;
         SetCountText ();
         source.PlayOneShot (Collection, 1F);
     }
 }

 void SetCountText ()
 {
     countText.text = "Count: " + count.ToString ();
     if (count >= 20)
     {
         winText.text = "You Win!";
     }
     countText.text = "Count: " + count.ToString ();
     if (count < 20)
     {
         winText.text = "You Lose!";
     }
 }

}

Problem is that now its instantly co$$anonymous$$g up saying You Lose the moment any PickUp is collected. $$anonymous$$eaning the player loses by just collecting any PickUp, which is no good.


I need to find a way still for it to only trigger once it reaches the finish point of the level.

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

524 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 avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image 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

Can someone please help me find out what wrong with my code. 1 Answer

Adding points from another script 1 Answer

How can i disable/enable slowly the blur effect using the blur script ? 0 Answers

How can I assign swipe positions to the array as parameters? 0 Answers

How can i create/spawn some objects and set random angle for each one ? 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