小编use*_*088的帖子

避免与Bullet发生地面碰撞

我正在尝试使用Bullet物理引擎来创建一个3D世界.

我的角色身体上有一个胶囊形状,我的地面是由一些静态块组成的,这是一个用来说明我的话语的模式: 在此输入图像描述

当我的角色从一个区块跑到另一个区块时出现问题:子弹检测到碰撞,我的角色开始在y轴上跳跃一点.

我该如何避免这个问题?

c++ game-engine bulletphysics

7
推荐指数
1
解决办法
7008
查看次数

线程使用emscripten

我正在尝试使用Emscripten的线程,我不明白它是如何工作的.我已经阅读了一些关于网络工作者的文章,我不太清楚.

当我查看"tests"文件夹时,我可以看到pthread的东西.

我正在使用"std :: thread"并收到以下错误:

unresolved symbol: pthread_create
Run Code Online (Sandbox Code Playgroud)

我是否必须使用Web worker而不是默认线程?

谢谢!

pthreads emscripten

6
推荐指数
2
解决办法
3979
查看次数

模板参数模板与GCC

我正在尝试使用模板模板作为参数,当我用clang编译时一切正常,但是当我尝试使用GCC 4.8时,我有以下错误:

无法从非模板类型'DamageAnimationSystem'推断出'TReceiver'的模板

这是我的情况:我有一个程序,类可以为某些类型的事件订阅事件管理器,但不是全部.

为此,我从具有特定类型的类继承:

 class DamageAnimationSystem : public Receiver<DamageEvent>, 
                               public Receiver<HealthEvent>
Run Code Online (Sandbox Code Playgroud)

在这里,我的类将侦听"DamageEvent"和"HealthEvent",因此我需要为此类事件声明虚拟方法:

DamageAnimationSystem::onEvent( const DamageEvent& event ) {}
DamageAnimationSystem::onEvent( const HealthEvent& event ) {}
Run Code Online (Sandbox Code Playgroud)

我需要订阅此活动:

DamageAnimationSystem::DamageAnimationSystem()
{
    eventManager->subscribe<DamageEvent>(this);
    eventManager->subscribe<HealthEvent>(this);
}
Run Code Online (Sandbox Code Playgroud)

正如我之前所说的,当我使用Clang时一切正常,但是当我使用GCC时,我得到了上面给出的错误.

这就是我所做的:

接收器:

class EBaseReceiver
{
protected:
    static std::size_t nextId;
};

template <typename TEventData>
class Receiver : public EBaseReceiver
{
friend class EventManager;
public:
     virtual void onEventReceive( const TEventData& event ) = 0;
     static std::size_t getId() { return ID; }
private:
     static std::size_t ID;
};
Run Code Online (Sandbox Code Playgroud)

事件:

struct BaseEvent
{ …
Run Code Online (Sandbox Code Playgroud)

c++ gcc templates clang

5
推荐指数
1
解决办法
416
查看次数

使用Freetype绘制文本大纲

我在我的程序中实现了FreeType,我可以用颜色和样式绘制文本(粗体,斜体,下划线).

现在我想对我的文字进行轮廓效果.我该怎么做?

像http://freetype-gl.googlecode.com/svn/wiki/images/cartoon.png这样的效果

  • 我曾尝试两次绘制文本,一个是背景中的黑色,另一个是前景中的白色,结果是错误的.
  • 我试图两次绘制文本,一个是粗体,第二个是前景,这里的结果再次出错了.

我想再次进行测试:在"大纲"模式下绘制"背景"文本,在常规模式下绘制前景文本.你怎么看待这件事?

http://freetype-gl.googlecode.com/svn/wiki/images/outline.png

c++ text opengl-es freetype freetype2

1
推荐指数
1
解决办法
6803
查看次数