Одно из тел должно быть не тригеррным
И да учитесь ещё писать красивый код, всё таки мы его рассматриваем
Вот как он должен выглядеть, имена переменных не менял так как сложно понять за что они отвечают, так же само и имена методов сделал на глаз
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class clouds_script : MonoBehaviour
{
private float minus = 15;
private float positionY = 0;
private float minus_minus = 0;
private void Start() {
CalculateSpawnPosition();
}
private void Update() {
CalculateTimeAndPosition();
}
private void OnTriggerEnter2D(Collider2D other) {
if (other.tag == "cloud") {
Restart();
Debug.Log("triggered");
}
}
private void Restart() {
CalculateSpawnPosition();
CalculateTimeAndPosition();
}
private void CalculateTimeAndPosition() {
minus = minus - minus_minus * Time.deltaTime;
transform.position = new Vector3(minus, positionY, 0);
}
private void CalculateSpawnPosition() {
transform.position = new Vector3(Random.Range(13, 20), Random.Range(2, 5), 0);
minus = transform.position.x;
positionY = transform.position.y;
minus_minus = Random.Range(1, 3);
}
}