language:unity:tk2dtoolkit
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| language:unity:tk2dtoolkit [2014/05/13 15:14] – kieuns | language:unity:tk2dtoolkit [2024/04/23 22:44] (현재) – 바깥 편집 127.0.0.1 | ||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| + | |||
| + | ====== SpriteCollection 의 매트리얼 동적 교체 ====== | ||
| + | |||
| + | **tk2dSprite** 에서 매트리얼이 변경 되면, 원래의 매트리얼로 바꿔버리는 바람에 | ||
| + | 오브젝트 인스턴스마다 다른 매트리얼(색상 변경이라든지)을 적용할 수가 없는데... | ||
| + | |||
| + | 정식으로 지원 되는 방법은 없고, | ||
| + | |||
| + | **tk2dSprite** 클래스를 고치는 방법 밖에 없다. | ||
| + | |||
| + | * [[http:// | ||
| + | |||
| + | <code csharp> | ||
| + | public class tk2dSprite : tk2dBaseSprite { | ||
| + | //... | ||
| + | static bool ignoreMaterialChange = true; | ||
| + | //... 원래 코드 ... | ||
| + | protected override void UpdateMaterial() | ||
| + | { | ||
| + | if( ignoreMaterialChange ) | ||
| + | { | ||
| + | if( renderer.sharedMaterial == null ) | ||
| + | renderer.material = collectionInst.spriteDefinitions[spriteId].material; | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | if( renderer.sharedMaterial != collectionInst.spriteDefinitions[spriteId].material ) | ||
| + | renderer.material = collectionInst.spriteDefinitions[spriteId].material; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | {{tag> UpdateNeed}} | ||