unityscript - Ball moves too far when it jumps. It can still be controlled while its in air. Unity3d player control script -


i working on unity ball game. player ball , uses player control script. when ball jumps in air, can still controlled , mo move direction while in air. not want fails purpose of heaving maze since can fly above obstacles.

i using player control script came free unity game kit. have tried fix it, capable of either removing jump function or reducing height, , not fix issue.

using unityengine; using system.collections;  public class playercontrol : monobehaviour  {     private gameobject movejoy;     private gameobject _gamemanager;     public vector3 movement;     public float movespeed = 6.0f;     public float jumpspeed = 5.0f;     public float drag = 2;     private bool canjump = true;      void start()     {         movejoy = gameobject.find("leftjoystick");         _gamemanager = gameobject.find("_gamemanager");     }      void update ()      {            vector3 forward = camera.main.transform.transformdirection(vector3.forward);         forward.y = 0;         forward = forward.normalized;          vector3 forwardforce = new vector3();         if (application.platform == runtimeplatform.android)          {             float tmpspeed = movejoy.getcomponent<joystick>().position.y;             forwardforce = forward * tmpspeed * 1f * movespeed;         }         else         {             forwardforce = forward * input.getaxis("vertical") * movespeed;         }         rigidbody.addforce(forwardforce);          vector3 right= camera.main.transform.transformdirection(vector3.right);         right.y = 0;         right = right.normalized;          vector3 rightforce = new vector3();         if (application.platform == runtimeplatform.android)          {             float tmpspeed = movejoy.getcomponent<joystick>().position.x;             rightforce = right * tmpspeed * 0.8f * movespeed;         }         else         {             rightforce= right * input.getaxis("horizontal") * movespeed;         }                rigidbody.addforce(rightforce);          if (canjump && input.getkeydown(keycode.space))         {             rigidbody.addforce(vector3.up * jumpspeed * 100);             canjump = false;             _gamemanager.getcomponent<gamemanager>().balljump();         }     }      void ontriggerenter(collider other)      {         if (other.tag == "destroy")         {             _gamemanager.getcomponent<gamemanager>().death();             destroy(gameobject);         }         else if (other.tag == "coin")         {             destroy(other.gameobject);             _gamemanager.getcomponent<gamemanager>().foundcoin();         }         else if (other.tag == "speedbooster")         {             movement = new vector3(0,0,0);             _gamemanager.getcomponent<gamemanager>().speedbooster();         }         else if (other.tag == "jumpbooster")         {             movement = new vector3(0,0,0);             _gamemanager.getcomponent<gamemanager>().jumpbooster();         }         else if (other.tag == "teleporter")         {             movement = new vector3(0,0,0);             _gamemanager.getcomponent<gamemanager>().teleporter();         }     }      void oncollisionenter(collision collision)     {         if (!canjump)         {             canjump = true;             _gamemanager.getcomponent<gamemanager>().ballhitground();         }     }      void ongui()     {         gui.label(new rect(300,10,100,100),"x: " + movejoy.getcomponent<joystick>().position.x.tostring());         gui.label(new rect(300,30,100,100),"y: " + movejoy.getcomponent<joystick>().position.y.tostring());     } } 

the question has been answered. how use script -> create sphere , give "sphere collider", "mesh renderer", "rigidbody", "player control(script)" under player control script put script , done. have ball can controlled in ios,android , pc guess , can jump.

i think canjump flag says "player on ground". so, if "can't jump", means shouldn't allow gamer control character flying. check in start of update() , call return; if canjump == false


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -