Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Aula 2 - Piso Infinito - Não estou conseguindo utilizar o 'size.x'

Olá. Estou seguindo o tutorial e não está funcionando a parte do código referente size.x:

 this.tamanhoDaImagem = this.GetComponent<SpriteRenderer>().size.x;

Veja o código completo:

public class Piso : MonoBehaviour { 
    [SerializeField]
    private float velocidade;

    private Vector3 posiciaoInicial;
    private float tamanhoDaImagem;

    private void Awake() 
    {
        this.posicaoInicial = this.transform.position;
        this.tamanhoDaImagem = this.GetComponent<SpriteRenderer>().size.x;
    }

    void Update() {
        float deslocamento = this.velocidade * Time.time;
        this.transform.Translate(Vector3.left * this.velocidade);

    }
}

A versão do Unity que estou utilizando é 5.3, olhei a documentação sobre o https://docs.unity3d.com/530/Documentation/ScriptReference/Sprite-border.html que vocês sugeriram em uma outra dúvida aqui no fórum, mas não sei como utilizálo nesse código.

Por favor, agradeço ajuda;

1 resposta
solução!

Oi Yara, tudo bom?

Acontece que nessa versão da Unity o componente SpriteRenderer ainda não tinha o atributo Size.

vc tem que acessar diretamente a propriedade sprite e depois buscar o tamanho ali

this.tamanhoDaImagem = this.GetComponent<SpriteRenderer>().sprite.bounds.size.x;

Minha sugestão é que se você puder atualize sua Unity para a versão 2019.3 pq ela tem muito mais funcionalidades para jogos 2D do que a versão 5.3

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