using UnityEngine;
public class Parallax : MonoBehaviour
{
private float length, startpos;
public GameObject cam;
public float parallaxEffect; // Скорость движения (для дальнего фона 0.9, для ближнего 0.5)
void Start()
{
startpos = transform.position.x;
// Берем ширину картинки
length = GetComponent<SpriteRenderer>().bounds.size.x;
}
void Update()
{
// Вычисляем, насколько сдвинулся фон относительно камеры
float temp = (cam.transform.position.x * (1 - parallaxEffect));
float dist = (cam.transform.position.x * parallaxEffect);
transform.position = new Vector3(startpos + dist, transform.position.y, transform.position.z);
// Если фон закончился, он телепортируется вперед (становится бесконечным)
if (temp > startpos + length) startpos += length;
else if (temp < startpos - length) startpos -= length;
}
}