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