멍멍이네 블로그

아까 질문 올렸다가 자삭했습니다.
현재 생긴 문제가 UISpriteAnimation을 이용해서 SpriteAnimation을 줬는데요..
코드로 Sprite 이름을 바꿔준다던지.. 해서 재생할 SpriteAnimation 이름을 조절했는데..
문제는 제가 Setting에서 오브젝트 크기(localScale)과 SpriteName을 바꿔주는데..
Update문이 끝나고 나서 SpriteAnimation에 의해서 이미지가 바뀌면서 오브젝트 크기가 다시 1로 돌아옵니다.
Update(){
//크기변동
}
//원래 크기로 돌아옴
Update(){
//크기변동
}
//원래 크기로 돌아옴
이렇게 됩니다..
SpriteAnimation 크기조절도 가능한지..
아님 다른 해결방법을 알고 싶습니다.
꼭 코드에서 재생할 SpriteAnimation의 이름. atlas를 바꿔야 되구요..
Unity3D + NGUI 를 사용중입니다.

------------------------------------------------------------------------------------------

 [답변]

SpriteAnimation 코드 안에서 이미지가 변경될경우..
Make pixel perfect 인가를 호출하는걸로 알고 있습니다.
요것이 sprite의 이미지의 크기를 원래의 사이즈로 만드는 함수인데요~

요녀석을 주석을 시켜 버리시거나..

애니메이션의 사이즈를 애초에 작은 사이즈로 재생을 시켜야 될 경우에는

부모 오브젝트의 사이즈를 줄이시면 될것으로 압니다~ -> 제생각..;

ex > 하이라키 계층 구조에서

빈 게임 오브젝트를 생성하셔서
ㄴ Gameobject - > scale 0.7, 0.7, 1 이런식..
ㄴ 재생될 spriteAnimation

 

p.s. UISprite 스크립트가서 자체 수정을 했는데..

이미지를 맞춰서 세팅을 하던지.. 아니면 다른사람들 말처럼.. UISprite의 MakePixelPerfect() 메소드를 수정해서 쓰자! ( 내맘대로 수정함ㅋ )