Unity에서 오브젝트의 스프라이트 변경 추가하고 싶습니다. 플레이어가

영웅 (객체)의 스크립트 코드 안에 스프라이트를 변경할 수있는 가능성을 추가하고 싶습니다.

플레이어가 스페이스 버튼을 누르면 스프라이트가 프로젝트에 이미 추가 된 다른 스프라이트로 바뀝니다.

이를 위해 샘플 코드를 제공해 주시겠습니까?



답변

코드가 주석 처리되었습니다. 즐겨.

public Sprite sprite1; // Drag your first sprite here
public Sprite sprite2; // Drag your second sprite here

private SpriteRenderer spriteRenderer;

void Start ()
{
    spriteRenderer = GetComponent<SpriteRenderer>(); // we are accessing the SpriteRenderer that is attached to the Gameobject
    if (spriteRenderer.sprite == null) // if the sprite on spriteRenderer is null then
        spriteRenderer.sprite = sprite1; // set the sprite to sprite1
}

void Update ()
{
    if (Input.GetKeyDown (KeyCode.Space)) // If the space bar is pushed down
    {
        ChangeTheDamnSprite (); // call method to change sprite
    }
}

void ChangeTheDamnSprite ()
{
    if (spriteRenderer.sprite == sprite1) // if the spriteRenderer sprite = sprite1 then change to sprite2
    {
        spriteRenderer.sprite = sprite2;
    }
    else
    {
        spriteRenderer.sprite = sprite1; // otherwise change it back to sprite1
    }
}

게임 오브젝트에 스프라이트 렌더러가 연결되어 있어야합니다. 새로운 C # 스크립트를 생성하고 GameObject에 첨부하십시오. 괄호 사이에 코드를 붙여 넣으십시오. 여기에서 알아낼 수 있습니다. 🙂