Плавное передвижение предмета
Добавлено: 16 май 2019, 02:09
Синтаксис:
Используется csharp
private void Move()
{
Transform currWayPoint = wayPoints[wayIndex].transform;
// идут по центру
Vector3 currWayPos = new Vector3(currWayPoint.position.x + currWayPoint.GetComponent<SpriteRenderer>().bounds.size.x / 2,
currWayPoint.position.y - currWayPoint.GetComponent<SpriteRenderer>().bounds.size.y / 2);
Vector3 dir = currWayPos - transform.position;
transform.Translate(dir.normalized * Time.deltaTime * speed);
if (Vector3.Distance(transform.position, currWayPos) < 0.1f)
{
if (wayIndex < wayPoints.Count - 1)
wayIndex++;
else
Destroy(gameObject);
}
{
Transform currWayPoint = wayPoints[wayIndex].transform;
// идут по центру
Vector3 currWayPos = new Vector3(currWayPoint.position.x + currWayPoint.GetComponent<SpriteRenderer>().bounds.size.x / 2,
currWayPoint.position.y - currWayPoint.GetComponent<SpriteRenderer>().bounds.size.y / 2);
Vector3 dir = currWayPos - transform.position;
transform.Translate(dir.normalized * Time.deltaTime * speed);
if (Vector3.Distance(transform.position, currWayPos) < 0.1f)
{
if (wayIndex < wayPoints.Count - 1)
wayIndex++;
else
Destroy(gameObject);
}
Пытаюсь по карте двигать объекты по вейпоинтах/
в итоге не получается делать это плавно/
на прямых отрезках бывают замедления