查看: 964|回复: 4

请教请教各位大师...

[复制链接]

该用户从未签到

发表于 2012-11-29 17:16:43 | 显示全部楼层 |阅读模式
是关于 cegui与osg结合后组建使用的问题
1:cegui和osg已经结合使用了 且一般组建都能正常使用
2:使用MultiLineEditBox出现了毛病
毛病:在一个按钮点击触发函数里

std::wstring      wstrHazard = L"你妹\n的\n我草\0";
  int        wstrlength = wstrHazard.size();
  int        nbufflength = WideCharToMultiByte(CP_UTF8,NULL,wstrHazard.c_str(),wstrlength,NULL, 0, NULL, NULL);
char* buffHazard = new char[nbufflength+1];
WideCharToMultiByte(CP_UTF8, NULL, wstrHazard.c_str(), wstrlength, buffHazard, nbufflength, NULL, NULL);
buffHazard[nbufflength] = '\0';
CEGUI::String strEdit((CEGUI::utf8*)buffHazard);

WindowMagener::getsingle().getWindow("MultiLineEditBox的名字")->setText(strEdit)
出现的问题  当点击按钮后出错了  CEGUI.log里面有 OpenGLTextur::size too big。
3:但是当这个组建在初始化的时候这样使用以后 不会有问题
4:完了以后 我在osg的继承Drawable类的drawImplementation函数里 这样写能用WindowMagener::getsingle().getWindow("MultiLineEditBox的名字")->setText(strEdit)
strEdit是一个类变量 然后点击按钮函数以后 给该变量赋相应值,这样以后MultiLineEditBox能够显示字  但是有个问题
当字体过多的时候 MultiLineEditBox上的滚动条出现以后不能使用 必须的重新实现MultiLineEditBox组建上的滚动条相应的附属组建的事件  
5:我想问问 是我的字体编码有问题 还是其他地方有问题呢。请各位帮我看看。谢谢  附上 在创建layout时候MultiLineEditBox的使用
<Window Type="WindowsLook/MultiLineEditbox" Name="ab" >
                        <Property Name="Font" Value="simhei" />
                        <Property Name="Text" >
</Property>
                        <Property Name="Alpha" Value="0.8" />
                        <Property Name="ReadOnly" Value="True" />
                        <Property Name="MaxTextLength" Value="1073741823" />
                        <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
                        <Property Name="TextParsingEnabled" Value="False" />
                    </Window>

该用户从未签到

发表于 2012-11-29 20:08:58 | 显示全部楼层
我是来看"你妹\n的\n我草\0"的。

该用户从未签到

 楼主| 发表于 2012-11-30 09:17:56 | 显示全部楼层
smash 发表于 2012-11-29 20:08
我是来看"你妹\n的\n我草\0"的。

,,,,,,,,,,,擦

该用户从未签到

发表于 2012-11-30 11:10:00 | 显示全部楼层
OpenGLTexture size too big
这个错误我记得是因为cegui执行了OpenGL的语句,但是没有指定context而导致的。所以我猜想您这句话没有写在drawImplementation()里面

该用户从未签到

 楼主| 发表于 2012-11-30 12:13:01 | 显示全部楼层
array 发表于 2012-11-30 11:10
OpenGLTexture size too big
这个错误我记得是因为cegui执行了OpenGL的语句,但是没有指定context而导致的 ...

恩 谢谢 我好好理理自己代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表