Пробовал уже многие варианты, но ничего не работает. Вот последняя догадка:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ElevatorScript : MonoBehaviour
{
public GameObject elev;
public Vector3 moveVector = Vector3.up;
public float speed;
public float ttime;
float uspeed = 0;
void OnTriggerEnter(Collider col)
{
if(col.tag == "Player")
{
StartCoroutine(ControlDirection(ttime));
}
}
IEnumerator ControlDirection(float ietime)
{
while(true)
{
yield return new WaitForSeconds(ietime);
uspeed = speed;
}
}
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
elev.transform.Translate(moveVector * uspeed * Time.deltaTime);
}
}
Вы, в принципе, верной дорогой шли. Вот вам пример корутины, которая может сделать то, что вам нужно:
IEnumerator ControlDirection(float moveTime)
{
float timeLeft = 0;
while(timeLeft <= moveTime)
{
timeLeft += Time.deltaTime;
elev.transform.Translate(moveVector * uspeed * Time.deltaTime);
yield return null;
}
}
Т.е. мы присылаем в корутину время, в течении которого наш герой должен двигаться. Внутри неё запускается цикл, который будет продолжаться до тех пор пока переменная timeLeft
не станет больше нужного нам времени.
Каждую итерацию цикла мы прибавляем к timeLeft
Time.deltaTime
(это время обработки последнего кадра), затем сдвигаем юнита, а потом с помощью yield return null
ждём до начала следующего кадра, и уже в нём начинаем следующую итерацию.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Надо сделать интервал из которого программа будет сама задавать значение и потом чтобы при проверке если не подошло значение ,то программа...
Нужен аналогический метод к tcpListenerPending() но в классе Socket
Использую Selenium для прохождения регистрации на сайте, имеется кнопка(вот вся информация по ней):