Unity – Translate GameObjects
Translate Meters x frame
DRAG AND DROP this script over a object in the Hierarchy:
#pragma strict
function Update ()
{
transform.Translate(new Vector2(1,0));
}
Statement: transform.Translate(new Vector2(1,0)); -> transform.Translate(new Vector2(x,y));
It adds 1px of ‘x’ value of the 2D Vector. The object moves quickly because the transformation command is inside Update(), it means the code adds 1px every frame.
Translate Meters x seconds
DRAG AND DROP this script over a object in the Hierarchy:
#pragma strict
function Update ()
{
transform.Translate(new Vector2(1,0)*Time.deltaTime);
}
NOTICE: *Time.deltaTime -> It converts the movement from meters x frame to meters x second
Translate Meters x frame + add velocity
DRAG AND DROP this script over a object in the Hierarchy:
#pragma strict
public var moveSpeed : float = 10f;
function Update ()
{
transform.Translate(new Vector2(1,0)* moveSpeed *Time.deltaTime);
}
Invert movement
#pragma strict
public var moveSpeed : float = 10f;
public var xpos : float = 1;
public var ypos : float = 1;
function Update ()
{
transform.Translate(new Vector2(xpos,ypos)* moveSpeed *Time.deltaTime);
}
NOTICE:
xpos= 1 move right
xpos= -1 move left
ypos= 1 move up
ypos= -1 move down
Vector2.right – Vector2.up
Vector2.right -> it this the same of -> new Vector2(1,0)
Vector2.up -> it this the same of -> new Vector2(0,1)
You can write:
#pragma strict
public var moveSpeed : float = 10f;
public var xpos : float = 1;
public var ypos : float = 1;
function Update ()
{
transform.Translate(xpos*Vector2.right * moveSpeed * Time.deltaTime);
transform.Translate(ypos*Vector2.up * moveSpeed * Time.deltaTime);
}
NOTICE:
xpos= 1 move right
xpos= -1 move left
ypos= 1 move up
ypos= -1 move down