Keyboard Input
I am watching this basic tutorial https://unity3d.com/learn/tutorials/projects/roll-ball-tutorial/moving-player?playlist=17141 , i had written the code to move the player , but the player is not moving.
The ball is not moving - Check the code below :
using UnityEngine;
using System.Collections;
public class Playercontroller : MonoBehaviour {
public float speed;
private Rigidbody rb;
// Use this for initialization
void Start () {
rb = GetComponent<Rigidbody> ();
}
// Update is called once per frame
void Fixedupdate () {
float moveHorizontal = Input.GetAxis ("Horizontal");
float moveVertical = Input.GetAxis ("Vertical");
Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
rb.AddForce (movement * speed);
}
}
Your script looks fine to me. $$anonymous$$ake sure that your ball has a rigidbody attached to it, and that all of its settings are right. Go through the video again and compare yours to theirs, making sure it has all of the same components with the same values.
Answer by aditya007 · Nov 03, 2016 at 04:00 AM
You have a public variable "speed", which is not assigned anywhere in the code. Therefore, it will have default value ZERO, making the value of Force, you're applying to the ball, ZERO. Set the speed value in the inspector, the the ball will move as expected. If this solved your problem, mark my answer as correct :)
Your answer
Follow this Question
Related Questions
GO with rigid body, hierarchy best practices 0 Answers
My Player Is moving all over the place! 0 Answers
c# script for player movement and jumping using touch pad for android 0 Answers
Moving simultaneously with UP LEFT, W D using GetAxisRaw. Rotating localScale to flip animation 2 Answers
How to stop player (Roll a ball game) from infinite jumping? 0 Answers