@roma79737

Проблема со скроллингом объектов. Как решить?

Все работает хорошо, но иногда скроллинг не возвращает объекты на нужную точку, срабатывает это рандомно. Как решить проблему?

public class ScrollObjects : MonoBehaviour {

	public GameObject allproducts;
	private Vector3 screenPoint, offset;
	private float _lockedYPos;
	public int x, y;
	public int speed;

	void Update ()
	{
		if (allproducts.transform.position.x > x)
		{
			allproducts.transform.position = Vector3.MoveTowards (allproducts.transform.position, new Vector3 (0f, allproducts.transform.position.y, allproducts.transform.position.z), Time.deltaTime * speed);
		}

		else if (allproducts.transform.position.x < y)
		{
			allproducts.transform.position = Vector3.MoveTowards (allproducts.transform.position, new Vector3 (0f, allproducts.transform.position.y, allproducts.transform.position.z), Time.deltaTime * speed);
		}
	}

	void OnMouseDown ()
	{
		_lockedYPos = screenPoint.x;
		offset = allproducts.transform.position - Camera.main.ScreenToWorldPoint (new Vector3 (Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));
	}

	void OnMouseDrag ()
	{
		Vector3 curScreenPoint = (new Vector3 (Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));
		Vector3 curPosition = Camera.main.ScreenToWorldPoint (curScreenPoint) + offset;
		curPosition.y = _lockedYPos;
		allproducts.transform.position = curPosition;
	}
}
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ответы на вопрос 1
DanceM
@DanceM Куратор тега Unity Game Engine
Кто хочет -ищет способ, кто не хочет -ищет причину
Отладка Ваш друг! Выводите значения переменных через Debug.Log(), что двигают, делают скролл, и смотрите какие цифры откуда приходят. Будет видна и аномалия, и можно будет понять, откуда она.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Tiamat Games Москва
от 75 000 до 125 000 ₽
Stark Games Минск
До 3 500 $
ФинГрад Москва
от 80 000 до 150 000 ₽