摘要:
因需要,需要重绘窗口的标题栏。标题栏通过QWidget实现,可是当使用QPalette设置窗口的背景色后没有效果。代码如下: //QWidget类构造函数内 QPalette p; p.setBrush(this->backgroundRole(),QBrush(QColor(51,51,51))); this->setPalette(p);如果这个QWidget直接show,是有背景色的,但是如果把它放到一个父Widget中时,它就没有了效果。后来通过网上搜索,发现添加如下代码后就可以了: //QWidget类构造函数内 this->setAutoFillB... 阅读全文
摘要:
Flickering mesh objectshttp://www.ogre3d.org/forums/viewtopic.php?f=2&t=39185 阅读全文
摘要:
http://www.ogre3d.org/forums/viewtopic.php?f=2&t=77006 阅读全文
摘要:
实现了一下,感觉有两个关键点:1.首先是人物的逻辑控制方面,人物一种动作有一连串的图片,但是一旦松开按键后,不对状态进行记录并锁定按键输入的话人物的动作可能会停在动画序列中某一帧,而不是应有的停止状态。因为我的动作只有4张图,所以我没有锁定按键输入,只是简单的根据是否为stop状态绘制上一个动作序列图的最后一个。这让我想到有些游戏里人物加速行走时如果停下来还会有一段“刹车”动作,这个期间不接受方向控制,应该就是通过增加一个break状态,直到刹车序列播放完了才解除按键锁定。2.不像3D渲染,不是帧数越高就越好,因为序列图就那么多,如果每帧都绘制其中一张的话,帧数高人物动作也会很快(疯狂状态?) 阅读全文
摘要:
How to use Terrain without TerrainGrouphttp://ogre3d.org/forums/viewtopic.php?f=2&t=70003Render-To-Texture (RTT) Qualityhttp://www.ogre3d.org/forums/viewtopic.php?f=5&t=76303 阅读全文
摘要:
开发Thinkvd中的player,设置透明度用的是sdl来实现的,转换中的水印用的是png, 如何设置水印的透明度,实际上要求把图片转换成带alpha的32位即可。实现代码://! [8]void ImageComposer::recalculateResult(){ int alpha = 100; QPainter::CompositionMode mode = currentMode(); QPainter painter(&resultImage); painter.setCompositionMode(QPainter::CompositionMode_Source); p 阅读全文
摘要:
有时候我们想让程序仅运行1次,即只有一个实例生成。在Windows平台下,可以通过在main.cpp中添加CreateMutex函数来实现: 首先在main.cpp中添加调用windows API的函数:#ifdefQ_WS_WIN#include#endif 接着在main()函数中添加://检测是否只运行了这一个实例#ifdefQ_WS_WINHANDLEhMutex=CreateMutex(NULL,true,QString("SoftwareString").toStdWString().c_str());if(GetLastError()==ERROR_ALREA 阅读全文