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 Undercover_Duck · Apr 08, 2019 at 05:14 PM · c#player movementienumeratorspeed upboost

How to apply speed boost to player on mobile game

Hi Guys,

I am trying to apply a speed boost to my player, at the moment i have my player running automatically after a 4 second delay, then everytime you touch the screen the release causes and boost to the players sprint.

the code i have written only applies boost as a one off, example MS(movement speed) =5 boost = 5 MS*BOOST = 25 but i want the boost to add +1 to the run and have gravity & deceleration to slow the player down

so it should work like this movement speed =5 each boost adds 1 untill a maximum has been reached and then it slows down when boost hasnt been activated back to starting movement speed.

this is the code i have so far

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class PlayerMovement2 : MonoBehaviour {
 
     public float movementSpeed = 0; //Do not adjust
     public float boost = 5;
     private Rigidbody myBody;
     public float maxSpeed = 10;
     public float Acceleration = 10;
     public float Deceleration = 10;
     public GameObject RaceTimer;
 
     // Use this for initialization
     void Awake () 
     {
             myBody = GetComponent<Rigidbody>();
     }

     void FixedUpdate () 
     {
         StartCoroutine(Move());
         StartCoroutine(speedBoost());
     }
     
     IEnumerator Move()
     {
         yield return new WaitForSeconds(4f);
 
         PlayerMove();
     }
 
         IEnumerator speedBoost()
         {
             yield return new WaitForSeconds(4f);
             if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Ended)
             {
                 movementSpeed = movementSpeed + boost;
             }
             else
             {
                 movementSpeed = 5f;
             }
     }
 
     void PlayerMove()
     {
       myBody.velocity = new Vector3(movementSpeed, 0, 0f);
     }
 
     private void OnTriggerEnter(Collider other)
     {
         if (other.CompareTag("Player"))
         {
             RaceTimer.SetActive(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 zakkaiokenx10 · Apr 09, 2019 at 08:13 AM

The only problem i see with your code is the fact that your setting the players speed to 5 if he does not touch the screen. in fact he can only touch the screen every 4 seconds.that doesnt give alot of time to touch the screen, maybe less than a frame?

maybe give a little time buffer for the players ability to tap.

 using System.Collections;
  using System.Collections.Generic;
  using UnityEngine;
  
  public class PlayerMovement2 : MonoBehaviour {
  
      public float movementSpeed = 0; //Do not adjust
      public float boost = 5;
      public float maxSpeed = 10;
      public float Acceleration = 10;
      public float Deceleration = 10;
      public GameObject RaceTimer;
 
      //tip: not specifying a modifier will make it private by default.
      bool ActivatedBoost;
      Rigidbody myBody;
  
      // Use this for initialization
      void Awake () 
      {
         myBody = GetComponent<Rigidbody>();
      }
      void FixedUpdate () 
      {
         //maybe you should look into invokerepeating?
         StartCoroutine(Move());
         StartCoroutine(speedBoost());
      }
 
      void Update() {
         //you should only be checking for input in the update method.
         if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Ended) {
             ActivatedBoost = true;
         } //using an else here will break the code as i am setting ActivatedBoost to false in the speedboost method
             
      }
      
      IEnumerator Move()
      {
         yield return new WaitForSeconds(4f);
 
         PlayerMove();
      }
  
          IEnumerator speedBoost()
          {
             //this will make a 4 second activation period
             yield return new WaitForSeconds(4f);
             if (ActivatedBoost)
             {
                 movementSpeed = movementSpeed + boost;
                 ActivatedBoost = false;
             } else {
                 movementSpeed = 5; //floats only need their f suffix when youre using periods (ie, 3.14f)
             }
      }
  
      void PlayerMove()
      {
         myBody.velocity = new Vector3(movementSpeed, 0, 0f);
      }
  
      private void OnTriggerEnter(Collider other)
      {
         if (other.CompareTag("Player"))
         {
            RaceTimer.SetActive(false);
         }
      }
 }

As a usual, I commented a few tip and points you may want to read. you can remove them when your done reading them.

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 Undercover_Duck · Apr 09, 2019 at 08:19 PM 0
Share

Thank you for responding, i used your script but it isnt working, the boost doesnt happen, i need it to stack like your are playing a 100m sprint game on consol the more you press the button the faster the player goes, but with your script, it didnt sprint at all its for a athletics game and the player auto runs slow but then tap the screen and it starts to build up a sprint(boost).

thank you for the comments and tips they did help me.

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

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

IEnumerator, Unexpected symbol? 3 Answers

How can we control two player objects at one time with RayCasting? 1 Answer

Any ideas in relate to a cube rolling? thank you! 0 Answers

How do I stop my players movement when I press a button and then enable it after I let the button go? 0 Answers

How can i change the value of a variable from an IEnumerator 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