-
-
Save robertcedwards/dbaa2955a6e6e13f06df to your computer and use it in GitHub Desktop.
private float speed = 2.0f; | |
public GameObject character; | |
void Update () { | |
if (Input.GetKey(KeyCode.RightArrow)){ | |
transform.position += Vector3.right * speed * Time.deltaTime; | |
} | |
if (Input.GetKey(KeyCode.LeftArrow)){ | |
transform.position += Vector3.left* speed * Time.deltaTime; | |
} | |
if (Input.GetKey(KeyCode.UpArrow)){ | |
transform.position += Vector3.forward * speed * Time.deltaTime; | |
} | |
if (Input.GetKey(KeyCode.DownArrow)){ | |
transform.position += Vector3.back* speed * Time.deltaTime; | |
} | |
} |
None of these work for me :/
Alright, if anyone is still here, apply a rigidbody and collider to whatever object your player is, apply a script called "PlayerMovement", and copy this code:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float speed = 2f;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if(Input.GetKey(KeyCode.W))
{
transform.position += Vector3.forward * speed * Time.deltaTime;
}
if(Input.GetKey(KeyCode.S))
{
transform.position += Vector3.back * speed * Time.deltaTime;
}
if(Input.GetKey(KeyCode.A))
{
transform.position += Vector3.left * speed * Time.deltaTime;
}
if(Input.GetKey(KeyCode.D))
{
transform.position += Vector3.right * speed * Time.deltaTime;
}
}
}
It should work perfectly fine.
It's good but very slow
when I press play my character falls through the floor
Add Rigid body
what does DeltaTiem stands for?
the time that takes to load another frame
It's good but very slow
you can change the speed
Alright, if anyone is still here, apply a rigidbody and collider to whatever object your player is, apply a script called "PlayerMovement", and copy this code:
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class PlayerMovement : MonoBehaviour {
public float speed = 2f; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { if(Input.GetKey(KeyCode.W)) { transform.position += Vector3.forward * speed * Time.deltaTime; } if(Input.GetKey(KeyCode.S)) { transform.position += Vector3.back * speed * Time.deltaTime; } if(Input.GetKey(KeyCode.A)) { transform.position += Vector3.left * speed * Time.deltaTime; } if(Input.GetKey(KeyCode.D)) { transform.position += Vector3.right * speed * Time.deltaTime; } }
}
It should work perfectly fine.
it doesn't work,instead it does this
help.mp4
It's good but very slow
you can change the speed
HOWWW
Thanks it worked I just had to remove the Rigidbody so it doesn't fly all over the terrain
THANKS !!
It did, but it worked very slowly. I'll try another method. Thanks anyway! :)
making rigidbody a class in unity doesn't work for me. it gives me an error
the "vector3" in my visual studio it's not gteen, and it not works. please help!
hover on it and there will be a drop which is showing "using:UnityEngine" or something start with "using" tap on it but make sure you are using the lastest version of the unity.
### that didn't work for me so i modified it a bit:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Movement : MonoBehaviour
{
public float forwardsForce = 40f;
public float sidewaysForce = 40f;
public Vector3 up;
public Vector3 down;
public float jumpForce = 4f;
}
follow the same instructions.
Hope i helped someone!