最近由于项目需求,需要在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;
}