Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Survivor shooter tutorial script error

Discussion in 'Scripting' started by adhochero, Feb 4, 2017.

  1. adhochero

    adhochero

    Joined:
    Feb 2, 2017
    Posts:
    43
    error CS1502: the best overloaded method match for 'UnityEngine.Rigidbody.MovePostion(UnityEngine.Vector3)' has some invalid arguments

    here is my script:
    _____________________________


    public class PlayerMovement : MonoBehaviour
    {
    public float speed = 6f;

    Vector3 movement;
    Animator anim;
    Rigidbody playerRigidbody;
    int floorMask;
    float camRayLength = 100f;

    void Awake(){
    floorMask = LayerMask.GetMask ("floor");
    anim = GetComponent <Animator> ();
    playerRigidbody = GetComponent <Rigidbody> ();

    }

    void FixedUpdate(){
    float h = Input.GetAxisRaw ("Horizontal");
    float v = Input.GetAxisRaw ("Vertical");

    Move (h, v);
    Turning ();
    Animating (h, v);
    }

    void Move (float h, float v){
    movement.Set (h, 0f, v);
    movement = movement.normalized * speed * Time.deltaTime;
    playerRigidbody.MovePosition (transform.position + movement);
    }

    void Turning(){
    Ray camRay = Camera.main.ScreenPointToRay (Input.mousePosition);

    RaycastHit floorHit;

    if (Physics.Raycast (camRay, out floorHit, camRayLength, floorMask)) {
    Vector3 playerToMouse = floorHit.point - transform.position;
    playerToMouse.y = 0f;

    Quaternion newRotation = Quaternion.LookRotation (playerToMouse);
    playerRigidbody.MovePosition (newRotation);
    }

    }

    void Animating (float h, float v){
    bool walking = h != 0f || v != 0f;
    anim.SetBool ("IsWalking", walking);
    }
    }
     
  2. adhochero

    adhochero

    Joined:
    Feb 2, 2017
    Posts:
    43
    nvm i got it
    playerRigidbody.MovePosition (newRotation);

    should be
    playerRidigbody.MoveRotaion (newRotaion);