мой SpriteRender в Unity всегда нулевой - PullRequest
0 голосов
/ 16 мая 2018

когда я пытаюсь получить спрайт в моем проекте, он всегда = null, но я не понимаю, почему, я пытаюсь получить GetComponent / GetComponentInChildren, это то же самое.

Спрайт - Дитя моего Персонажа, как здесь:

enter image description here

и это код:

new public Rigidbody2D rigidbody;
private Animator animator;
private SpriteRenderer sprite;

private void Amwake()
{
    sprite = GetComponentInChildren<SpriteRenderer>();
    rigidbody = GetComponent<Rigidbody2D>();
    animator = GetComponent<Animator>();

}


private void Update()
{
    if (Input.GetButton("Horizontal")) Run();
    if (Input.GetButtonDown("Jump")) Jump();
}

private void Run()
{
    Vector3 direction = transform.right * Input.GetAxis("Horizontal");

    transform.position = Vector3.MoveTowards(transform.position, transform.position + direction, speed * Time.deltaTime);

    sprite.flipX = direction.x < 0.0F;
}

1 Ответ

0 голосов
/ 16 мая 2018

Вы неправильно набрали Awake и написали Amwake вместо этого, поэтому Unity3D не распознает его и не будет вызван.

Просто переименуйте

private void Amwake()

в

private void Awake()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...