language:unity:ngui:some_fix
UILabel과 DynamicFont
UILabel의 DynamicFont 글꼴이 깨져보이는 현상. 디바이스에서도 계속 발생되는 현상인지는 모르겠지만 에디터에서는 깨져보이는 현상.
- 일단 디바이스에서는 괜찮은 듯? 확신은 없지만.
대상버젼 :
- Unity5
- NGUI 3.8.x ~ 3.9.0
// UILabel.cs 에서 일부분을 수정. /// <summary> /// "Font.textureRebuilt += OnFontChanged;" 로 폰트 생성될때 텍스쳐 생성용 글자를 넘기는 함수를 등록하지만, /// 일정 시간 후에 'Font.textureRebuilt' 의 이벤트 함수가 모두 삭제 되는게 아닐까?? /// </summary> /// @todo : 폰트 텍스쳐가 재생성 될때 제대로 호출되는 방법을 찾아보자. 언젠가는 삭제되어야 한다. /// FIXME: 언젠가는 삭제되어야 한다. #if UNITY_EDITOR void LateUpdate() { if(trueTypeFont != null) { trueTypeFont.RequestCharactersInTexture(mText, mPrintedSize, mFontStyle); RemoveFromPanel(); CreatePanel(); } } #endif protected override void OnEnable () { base.OnEnable(); #if UNITY_EDITOR Font.textureRebuilt += OnMyFontChanged; // FIXME : remove someday #else if(!mTexRebuildAdded) { mTexRebuildAdded = true; Font.textureRebuilt += OnFontChanged; } #endif } #if UNITY_EDITOR void OnMyFontChanged(Font font) { if(trueTypeFont != null && trueTypeFont == font) { trueTypeFont.RequestCharactersInTexture(mText, mPrintedSize, mFontStyle); RemoveFromPanel(); CreatePanel(); } } #endif
language/unity/ngui/some_fix.txt · 마지막으로 수정됨: 2024/04/23 22:45 저자 127.0.0.1