How do I get a variable that’s set to a value to increment smoothly (or smoothly ease/ fade) to a target value?
Such as speeding or slowing a plane during flight.
Here’s my code below:
#pragma strict
var speed : int;
var maxSpeed : int = 100;
var minSpeed : int = 0;
var startSpeed : int = 50;
var camera : GameObject;
var zoomCamera : GameObject;
var enemyKillRatio : int = 0;
var health : int = 100;
var reset : boolean = false;
function Update () {
//start speed
speed = startSpeed;
//constant forward
transform.Translate(0, 0, speed * -1 * Time.deltaTime); //speed set at 50 here.
//movments; speedup
if (Input.GetKey("c")) {
//smoothly incrimint speed up by 1.
speed = ++ speed;//needs incrment speed.
transform.Translate(0, 0, speed * -1 * Time.deltaTime);
}
//movements; slowdown
if (Input.GetKey("v")) {
//smoothly deincrament speed by 1.
speed = -- speed;//need increment speed.
transform.Translate(0, 0, speed * Time.deltaTime);
}
//limit speed
if(speed >= maxSpeed){
speed = maxSpeed;
}
if(speed >= minSpeed){
speed = minSpeed;
}
}
How do I get my movement speed up and movement slow down to smoothly ease to a max or a minimum value?
The output of the code so far allows the player fly forward. When c key is pushed, the player goes faster (until maxSpeed = 100). When v key is pushed the player stops instantly (when minSpeed = 0).