Question by 
               Banditmayonnaise · Dec 21, 2020 at 04:43 PM · 
                2d-platformerprogrammingphysics2dgrappling gun  
              
 
              Grapling gun help! Why doesn't my player move towards? Instead of getting stuck in place
I don't know what is going on... But when the Player activate the grappling gun, the spring joint will only pull player to the armTip (which is a game object). Well the player doesn't get pulled the player just stay in place and can't move. I made a drawline function, to better understand what is going and I can see the line starts from the armTip, then draw line to the player. But it should shoot the armTip to another object, then draw line from player to armTip.
  void Update()
     {
 
         if (Input.GetButtonDown("Fire1") && !wallGrab && !wallSlide)
         {
             isGrappling = true;
             GrapplingArm();
         }
     }
 
  private void LateUpdate()
     {
         DrawLine();
     }
 
 private void GrapplingArm()
     {
 
         RaycastHit2D hit = Physics2D.Raycast(transform.position, Vector2.right);
         
         if (Physics2D.Raycast(armTip.position, armTip.right, maxDistance, whatIsGrappleable))
         {
             grapplePoint = hit.point;
             joint = player.gameObject.AddComponent<SpringJoint2D>();
             joint.autoConfigureConnectedAnchor = false;
             joint.connectedAnchor = grapplePoint;
 
             float distanceFromPoint = Vector2.Distance(player.position, grapplePoint);
 
             joint.distance = distanceFromPoint * 0.2f; //How much the player is gonna get pulled
 
             // Spring Values
             joint.dampingRatio = 0.2f;
             joint.frequency = 800000;
 
             lr.positionCount = 2;
             currentGrapplePosition = armTip.position;
 
 
         }
     }
 
     private void DrawLine()
     {
         if (!joint)
             return;
 
         currentGrapplePosition = Vector2.Lerp(currentGrapplePosition, grapplePoint, Time.deltaTime * 8f);
 
         lr.SetPosition(0, armTip.position);
         lr.SetPosition(1, currentGrapplePosition);
 
     }
               Comment
              
 
               
              Your answer
 
 
             Follow this Question
Related Questions
transform.localScal not flipping 0 Answers
Trying to add Directional Attacking 0 Answers
Linerenderer BUG,Problem with the LineRenderer.. 1 Answer
Help with a roll effect 2D 0 Answers
Ad is not ready, why???? 0 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                