Eu estava fazendo o curso de Unity 2D parte 1: criando um jogo 2D e me empolguei um pouco no curso e ai fiz o jogo um pouco mais elaborado, eu fui enviar para meu primo testar como o jogo esta ficando, quando ele testou não sei o porquê o cenario se moveu a uma velocidade absurda, o que achei muito estranho ja que no meu estava indo normal, já tentei varias coisas por limite de fps, mudar a forma com que o cenario se move mais continuou a mesma coisa.
vcs podem me ajudar?
Não consigo enviar o projeto por aqui caso precisar para ver qual é o problema me diga por onde posso enviar.
Codigos que fazem os objetos se mover
Velocidade
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Velocidade : MonoBehaviour
{
public static double velocity { get; set; } = 0.0075;
[Header("Dados da Velocidade")]
[SerializeField] private double velo = velocity;
[SerializeField] private double speedIncreaser = 0.000000125;
[SerializeField] private float speedIncreaserClock = 5;
private void Start()
{
velocity = Random.Range(5, 10) * 0.001;
velo = velocity;
}
void Update()
{
if (Diretor.GameCont == true)
{
velo = velocity;
//////////////////////////////////////////////////
if (speedIncreaserClock <= 0)
{
if(velocity < 0.15)
{
if (timeCounter.timeGame <= 420)
speedIncreaser = speedIncreaser + 0.000000125;
else if (timeCounter.timeGame > 420)
speedIncreaser = speedIncreaser + 0.0000005;
}
speedIncreaserClock = 5;
}
//////////////////////////////////////////////////
if (velocity < 0.15)
{
velocity += speedIncreaser;
if (velocity >= 0.15)
velocity = 0.15;
}
}
}
public void RestartVelocidade()
{
velocity = 0.0075;
speedIncreaser = 0.000000125;
speedIncreaserClock = 0;
velo = velocity;
}
}
Loopen
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Loopen : MonoBehaviour
{
[Header("Velocidade em Relação a Distancia da Camera")]
[SerializeField] private int divisor;
[Header("Dados da Posição")]
[SerializeField] private Vector3 startPosition;
[SerializeField] private Vector3 position;
[Header("Tamanho do Objeto")]
[SerializeField] private float objectSize;
private void Awake()
{
startPosition = transform.position;
position = transform.position;
float tamanhoImagem = GetComponent<SpriteRenderer>().size.x;
float escalaImagem = transform.localScale.x;
objectSize = tamanhoImagem * escalaImagem;
}
private void Update()
{
if (Diretor.GameCont == true)
{
position = transform.position;
if (position.x <= startPosition.x - objectSize * 6.25 / 2)
{
transform.position = startPosition;
}
transform.Translate(Vector3.left * (float)Velocidade.velocity / divisor);
}
}
public void RestartLoopen()
{
transform.position = startPosition;
}
}