Слайд 3 transform.Translate(Vector2.направление );
Прямолинейно перемещает объект в нужном направлении. В 2д это: left,
right,up,down.
Слайд 4Пример
using UnityEngine;
using System.Collections;
public class ExampleClass: MonoBehaviour
{
void
Update ()
{
// Переместить объект вперед по оси x вправо на 1 единицу в секунду.
transform.Translate(Vector2.right * Time.deltaTime);
// Перемещаем объект вверх в мировом пространстве на 1 единицу в секунду.
transform.Translate(Vector2.up * Time.deltaTime, Space.World);
}
}
Слайд 5Из пункта а в пункт б (не физический)
Слайд 6Vector2.Lerp ( Vector2 a , Vector2 b , float t );
Линейно переходим
из пункта a в пункт b с шагом t.
Параметр t ограничен диапазоном [0, 1].
Когда t= 0 возвращается a (то есть остаемся в пункте а).
Когда t= 1 возврат b (телепартируемся в пункт б).
Когда t= 0,5 возвращает среднюю точку a и b.
Слайд 7Пример
using UnityEngine;
public class Example : MonoBehaviour
{
public Vector2 destination;
void FixedUpdate()
{
//Moves the GameObject from it's current position to destination over time
transform.position = Vector2.Lerp(transform.position, destination, Time.deltaTime);
}
}
Слайд 8Телепортация (не физическое)
Слайд 9Transform.position
Перемещает объект в указанные координаты.
Слайд 10Пример
void FixedUpdate()
{
Vector2 position = transform.position;
position.x = position.x +
0.1f;
transform.position = position;
}
Слайд 11Движение в направлении с указанной скоростью
Слайд 12Rigidbody2D.velocity
Линейная скорость твердого тела в единицах в секунду.
Скорость задается как вектор с
компонентами в направлениях X и Y (в 2D-физике направление Z отсутствует). Значение обычно устанавливается не напрямую, а с помощью силы .
Слайд 13Пример
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveVelocity : MonoBehaviour
{
public Rigidbody2D rb;
void
FixedUpdate()
{
rb.velocity = new Vector2(0.0f, 2.0f);
}
}
Слайд 14Движение с ускорением (физическое)
Слайд 15Rigidbody2D .AddForce
public void AddForce(Vector2 force, ForceMode2D mode = ForceMode2D.Force);
Примените силу к твердому
телу(как будто пнули мячик)
Сила задается как два отдельных компонента в направлениях X и Y (в 2D-физике нет направления Z). Объект будет ускоряться силой в соответствии с законом сила = масса * ускорение - чем больше масса, тем больше сила, необходимая для ускорения до заданной скорости.
Если вы не укажете ForceMode2D, будет использоваться значение по умолчанию. По умолчанию в этом случае используется ForceMode2D.Force, который добавляет силу с течением времени, используя массу.
Слайд 17Пример 1
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Move : MonoBehaviour
{
public Vector2
direction;
public Rigidbody2D rb2D;
private float thrust = 1f;
void FixedUpdate()
{
rb2D.AddForce(direction * thrust);
}
}