0
respostas

estou com um problema com a velocidade do meu cenario

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;
    }
}

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software