最近由於項目需求,需要在TGEA引擎環境下中文輸入,我在網上找了很久,找到的都是關於TGE中文輸入。包括官方網都是講些TGE natural language(Chinese) ,沒辦法只有自己研究輸入那塊,花了一天時間, 終於搞定了。
實際上明白了TGE下修改思路就夠了, 都是基於IME Windows消息思想,當輸入event消息分發時,可以修改charEvent,然後Game->postEvent(charEvent)。在TGEA中,它把postEvent這個過程省略了,直接調用charEvent.trigger(....)就可以了,增加幾行代碼就可以了
case WM_IME_CHAR:
{
TCHAR charCode = wParam;
UTF16 chars[2] = {charCode, 0};
if(chars[0] >= 32)
window->charEvent.trigger(window->getDeviceId(),_ModifierKeys,chars[0]);
break;
}