2014-11-26 3 views
0

Unity 4.6 2D에서 카드 (트럼프 카드를 생각해보십시오)를 구현하려고합니다. 나는 일반적으로 조립식 이미지 작업 중입니다. 조립식 카드를 호출 해 봅시다.Unity 4.6에서 뒤집을 수있는 이미지 만들기

카드에는 원본 이미지가 카드의 뒷면으로 설정된 이미지 스크립트가 있습니다. 이것은 모든 카드에서 동일합니다. 어떻게 카드의 각 유형 (하트 다섯, 스페이드 왕 등)에 대한 고유 한 질감/이미지/스프라이트로 전면을 구현합니까?

현재 애니메이션을 사용하여 뒤집기를 수행합니다. 카드의 기본 상태는 아래를 향하고 있습니다. "뒤집기"애니메이션은 다음을 수행합니다.

  • 애니메이션을 중간에서 90도 회전합니다.
  • 새 원본 이미지 설정 - 이제 "hearts_5.png"즉 하트 다섯 개에 "하드 코딩"되어 있습니다.
  • 스케일 X를 -1로 설정하십시오.
  • 애니메이션의 마지막 키 프레임으로 다시 Y 축을 180 도로 회전합니다 (애니메이션 시작부터 시간이 지남에 따라 발생하는 트윈을 끄려면 키 프레임을 편집해야합니다.).

카드를 180도 회전시키기 때문에 소스 이미지가 미러링되어 표시되므로 텍스처를 다시 미러링하려면 스케일 X를 -1로 설정해야합니다.

이제 C# 코드에서 카드 (GameObject)> 구성 요소 (이미지)> 스프라이트 변수를 실제 카드 (스페이드 10 등)에 따라 다른 스프라이트를 설정하는 방법을 알아야합니다. . 어떻게해야합니까?

이 작업을 수행하는 더 좋은 방법이 있다면 계속 진행하십시오.

답변

0
public List<Sprite> sprites; 
    private int m_index; 

    public SpriteRenderer m_renderer; 

    void Start() { 
     m_index = 0; 
     m_renderer = GetComponent<SpriteRenderer>(); 
    } 
    public void SwitchSprite(somecardtype) { 
     m_renderer.sprite = sprites[(int)somecardtype]; 

    } 

또는 개인 m_index 변수를 사용하여 모든 카드 스프라이트를 포함 할 스프라이트 배열의 색인을 생성 할 수 있습니다. 도움이 되나요? 아니면 더 자세히 설명해야합니까?

관련 문제