c# - How to restrict touch movement for android on Unity -


i working on 2d car racing game android device. have coded touch movement car. problem car going beyond track. how can restrict car movement, mean how can code car stay in screen (screen resolution 480*800 , car sprites max position 4.2 , min -4.2). here r c# car controller script.

using unityengine; using system.collections;  public class carcontroller : monobehaviour {       public float carspeed;        // update called once per frame      void update () {           if (input.touchcount == 1) {               touch touch = input.touches[0];              if(touch.position.x < screen.width/2){                  transform.position += vector3.left * carspeed * time.deltatime;                }              else if(touch.position.x > screen.width/2){                  transform.position += vector3.right * carspeed * time.deltatime;               }           }      }   } 

the immediate solution use clamp function know max , min values after calculating desired movement.

 void update () {       if (input.touchcount == 1) {           touch touch = input.touches[0];          if(touch.position.x < screen.width/2){              transform.position += vector3.left * carspeed * time.deltatime;            }          else if(touch.position.x > screen.width/2){              transform.position += vector3.right * carspeed * time.deltatime;           }          vector3 position = transform.position;          position.x = mathf.clamp(position.x, -4.2f, 4.2f);          transform.position = position;       }  } 

Comments

Popular posts from this blog

dns - How To Use Custom Nameserver On Free Cloudflare? -

python - Pygame screen.blit not working -

c# - Web API response xml language -