Четверг, 28 Марта 2024, 19:38

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вертикальная движущаяся платформа.Unity 2D (Как сделать чтобы перс не отрывался от платформы?)
Вертикальная движущаяся платформа.Unity 2D
GoganoidДата: Воскресенье, 28 Января 2018, 16:07 | Сообщение # 1
был не раз
Сейчас нет на сайте
Делаю платформер. Сделал платформу с таким скриптом
Код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MonsterBehaviour : MonoBehaviour {

    public float speed = 3f;

    public Transform[] waypoints;
    private int ArrayIndex;

    void Start () {
  ArrayIndex = 0;
    }
    

    void Update () {
  

  transform.position = Vector2.MoveTowards (transform.position, waypoints[ArrayIndex].transform.position, speed * Time.deltaTime);
  CheckWayPoint ();
    }

    void CheckWayPoint(){
  int test = ArrayIndex + 1;

   if (Vector2.Distance(transform.position,waypoints[ArrayIndex].transform.position)<0.1f) {
   if (test > 1) {
    ArrayIndex = 0;
   } else {
    ArrayIndex++;
   }

    }
}
}

Когда персонаж стоит на платформе и она двигается вниз, то перс как-бы отрывается от нее.
Как сделать,чтобы он не отрывался от платформы?
PovstalezДата: Воскресенье, 28 Января 2018, 18:01 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
При входе на платформу - персонажу назначать родителя платформу
alexsilentДата: Понедельник, 29 Января 2018, 05:12 | Сообщение # 3
почти ветеран
Сейчас нет на сайте
есть достаточно легкий способ
при соприкосновении персонажа с платформой искать, есть ли у платформы особый компонент
через GetComponent, если компонент найден, то персонаж (пока не ушел с платформы) должен брать информацию
со скрипта платформы, насколько далеко платформа сместилась после последнего шага, и перемещать на это же расстояние персонажа

еще можно вариант наоборот, платформе дать особый скрипт, чтобы она смещала всех персонажей, что соприкасаются
к платформе на то же расстояние, на которое она сдвинулась за последний шаг
и постоянно мониторить , какие объекты прикасаются сверху платформы, те добавлять в библиотеку персонажей , которых надо сдвигать, а те кто не прикасаются тех выбывать из библиотеки

лучше не использовать parent (родителя), иначе могут появится различные странные артефакты, если например у платформы размер не всегда 1,1,1


Сообщение отредактировал alexsilent - Понедельник, 29 Января 2018, 05:19
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вертикальная движущаяся платформа.Unity 2D (Как сделать чтобы перс не отрывался от платформы?)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг