- Home /
Question by
dis_pear · Apr 20, 2015 at 12:49 AM ·
c#javascriptmovementcontroller
Condition on Character Movement
I copied and pasted the character movement script from one of the Unity sample projects. The code is below. How do I make it so this movement only occurs when the player is holding down a key/button?
Thank you.
using UnityEngine;
public class Char1MovementAlt : MonoBehaviour
{
public float speed = 6f; // The speed that the player will move at.
Vector3 movement; // The vector to store the direction of the player's movement.
Animator anim; // Reference to the animator component.
Rigidbody playerRigidbody; // Reference to the player's rigidbody.
int floorMask; // A layer mask so that a ray can be cast just at gameobjects on the floor layer.
float camRayLength = 100f; // The length of the ray from the camera into the scene.
void Awake ()
{
// Create a layer mask for the floor layer.
floorMask = LayerMask.GetMask ("Floor");
// Set up references.
anim = GetComponent <Animator> ();
playerRigidbody = GetComponent <Rigidbody> ();
}
void FixedUpdate ()
{
// Store the input axes.
float h = Input.GetAxisRaw ("Horizontal");
float v = Input.GetAxisRaw ("Vertical");
// Move the player around the scene.
Move (h, v);
}
void Move (float h, float v)
{
// Set the movement vector based on the axis input.
movement.Set (h, 0f, v);
// Normalise the movement vector and make it proportional to the speed per second.
movement = movement.normalized * speed * Time.deltaTime;
// Move the player to it's current position plus the movement.
playerRigidbody.MovePosition (transform.position + movement);
}
}
Comment
Answer by DoTA_KAMIKADzE · Apr 20, 2015 at 12:49 AM
void FixedUpdate()
{
if (Input.GetKey(KeyCode.Space))
{
// Store the input axes.
float h = Input.GetAxisRaw("Horizontal");
float v = Input.GetAxisRaw("Vertical");
// Move the player around the scene.
Move(h, v);
}
}
Your answer
Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
Making a bubble level (not a game but work tool) 1 Answer
How to sprint but only when moving forward? 2 Answers
Character is sliding? 1 Answer
Spaceship Control Problems 0 Answers