Witam.
Otóż mam pewien problem z 4 Sprite-ami, które mam jako Background w grze.
Przesuwam je w FixedUpdate() i nieważne czy wpiszę że maja się przesuwać o Time.fixedDeltaTime czy o 0.02 to po kilku przesunięciach zmienia się ta wartość.
Dla sprostowania, wartość przesuwana ciągle podawana jest jako 0.02, jednak wartość ta jest co kilka aktualizacji powiększana o 0.000001 przez co połączone Sprite-y co jakiś czas rozjeżdżają mi się. Na jednym zdjęciu położenie GameObject ze Sprite-em, a na kolejnym jak przerwa wygląda w powiększeniu (bardzo duże powiększenie).
Oraz kod jak przesuwam tło.
Dodam że w gameObjectBackground[] znajdują sie tylko 4 obiekty. Podczas debugowania podaje prawidłowe położenie obiektów jakie powinno być (czyli zmieniać się co 0.02), natomiast w nity ta wartość jest inna.
Kod FixedUpdate():
private void FixedUpdate()
{
Debug.Log("Position X: " + gameObjectBackground[2].transform.position.x.ToString());
float time = Time.fixedDeltaTime;
float moveSpeed = sceneVariable.MoveSpeed;
if (sceneVariable.Move)
{
foreach (GameObject item in gameObjectBackground)
{
item.transform.position += Vector3.left * time;
//Sprawdza czy jedno z teł doszło do ganicy
if (item.transform.localPosition.x <= -1*moveBackground)
{
//Przesuwa z lewej na prawą stronę tło, aby zapętlić
item.transform.localPosition = new Vector3(((gameObjectBackground.Length-1)*moveBackground),
item.transform.localPosition.y, item.transform.localPosition.z);
}
}
}
}
