language:unity:ngui:some_fix
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| language:unity:ngui:some_fix [2015/06/08 12:08] – 만듦 kieuns | language:unity:ngui:some_fix [2024/04/23 22:45] (현재) – 바깥 편집 127.0.0.1 | ||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| + | ====== UILabel과 DynamicFont ====== | ||
| + | |||
| + | UILabel의 DynamicFont 글꼴이 깨져보이는 현상. | ||
| + | 디바이스에서도 계속 발생되는 현상인지는 모르겠지만 에디터에서는 깨져보이는 현상. | ||
| + | |||
| + | * 일단 디바이스에서는 괜찮은 듯? 확신은 없지만. | ||
| + | |||
| + | 대상버젼 : | ||
| + | - Unity5 | ||
| + | - NGUI 3.8.x ~ 3.9.0 | ||
| + | |||
| + | <code csharp> | ||
| + | // UILabel.cs 에서 일부분을 수정. | ||
| + | |||
| + | /// < | ||
| + | /// " | ||
| + | /// 일정 시간 후에 ' | ||
| + | /// </ | ||
| + | /// @todo : 폰트 텍스쳐가 재생성 될때 제대로 호출되는 방법을 찾아보자. 언젠가는 삭제되어야 한다. | ||
| + | /// FIXME: 언젠가는 삭제되어야 한다. | ||
| + | #if UNITY_EDITOR | ||
| + | void LateUpdate() | ||
| + | { | ||
| + | if(trueTypeFont != null) | ||
| + | { | ||
| + | trueTypeFont.RequestCharactersInTexture(mText, | ||
| + | RemoveFromPanel(); | ||
| + | CreatePanel(); | ||
| + | } | ||
| + | } | ||
| + | #endif | ||
| + | |||
| + | protected override void OnEnable () | ||
| + | { | ||
| + | base.OnEnable(); | ||
| + | #if UNITY_EDITOR | ||
| + | Font.textureRebuilt += OnMyFontChanged; | ||
| + | #else | ||
| + | if(!mTexRebuildAdded) | ||
| + | { | ||
| + | mTexRebuildAdded = true; | ||
| + | Font.textureRebuilt += OnFontChanged; | ||
| + | } | ||
| + | #endif | ||
| + | } | ||
| + | |||
| + | #if UNITY_EDITOR | ||
| + | void OnMyFontChanged(Font font) | ||
| + | { | ||
| + | if(trueTypeFont != null && trueTypeFont == font) | ||
| + | { | ||
| + | trueTypeFont.RequestCharactersInTexture(mText, | ||
| + | RemoveFromPanel(); | ||
| + | CreatePanel(); | ||
| + | } | ||
| + | } | ||
| + | #endif | ||
| + | </ | ||