- Home /
 
               Question by 
               R1incewind · Feb 19, 2017 at 10:48 PM · 
                unity 5mobilephysics2dtouch controls  
              
 
              When applying a force to an object on Touch, how do I add a *cooldown* to it?
My first serious attempt at a mobile game.
You have balls that fall and you have to keep them from reaching the bottom for as long as possible by tapping them.
I've come up with this:
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class bounceController : MonoBehaviour {
 
     public Rigidbody2D body;
     public Camera cam;
 
     
 
     void Awake() {
         Debug.Log(body.transform.localScale);
 
         if (cam == null) {
             cam = Camera.main;
         }
     }
 
     void FixedUpdate() {
         if(Input.touchCount > 0) {
 
             Touch touch = Input.GetTouch(0);
 
             if (IsInBounds(touch.position)) {
                 Jump();
                 SidewaysForce();
             }
         }
     }
 
     void SidewaysForce() {
 
         if (Random.Range(0, 2) > 0) {
             body.AddForce(new Vector2(0.5f, 0.0f), ForceMode2D.Impulse);
         } else {
             body.AddForce(new Vector2(-0.5f, 0.0f), ForceMode2D.Impulse);
         }
     }
 
 
     void Jump() {
         body.AddForce(new Vector2(0f, 1f), ForceMode2D.Impulse);
     }
 
 
     private bool IsInBounds(Vector2 touchPos) {
 
         Vector3 targetTouchPos = cam.ScreenToWorldPoint(new Vector3(touchPos.x, touchPos.y, 0.0f));
         
 
         if(targetTouchPos.x <= body.position.x + 2f && targetTouchPos.x >= body.position.x - 2f) {
             Debug.Log("x is true");
             if (targetTouchPos.y <= body.position.y + 2f && targetTouchPos.y >= body.position.y - 2f) {
                 Debug.Log("all is true");
                 return true;
             }
         }
 
         return false;
     }
 }
Which works except that if I keep my finger on the ball it applies the force a bunch of times very quickly and it goes flying off the screen.
               Comment
              
 
               
              Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                