小编Gri*_*fin的帖子

如何否定整个正则表达式?

例如,我有正则表达式(ma|(t){1}).它匹配mat不匹配bla.

我想否定正则表达式,因此必须匹配bla,而不是mat,加入的东西此正则表达式.我知道我可以写bla,但实际的正则表达式更复杂.

regex regex-negation

83
推荐指数
2
解决办法
14万
查看次数

如何制作2D软体物理引擎?

Box2d 中刚体的定义是

一块物质非常强大,以至于块上任何两个物质之间的距离是完全恒定的.

这正是我不想要的,因为我想制作2D(最终可能是3D),弹性,可变形,易碎,甚至是粘稠的物体.

我希望离开这个社区的是资源,它教会我如何弯曲,破坏和互动对象.我不关心这些物体的分子或化学性质,当我试图寻找如何计算一块木头,金属,橡胶,粘性物质,液体,有机物质等时,我常常发现这一切.在施加力之后可能看起来像.

此外,我是一个非常直观的人,因此图表等对我来说非常有帮助.

================================================== ==============================

忽略这些问题,它们已经过时了,我只是为了上下文的目的而将它们保留在这里

这里有没有简单的2D软体物理引擎?
最好是免费还是开源?

如果不花费数年时间就可以自己创作吗?

3.我可以使用像bullet和box2d这样的现有引擎作为开始并简单地转换他们的代码,或者考虑到我1年的编程经验和子弹是3D,这会导致更多的问题吗?

4.最后,如果我要转换另一个库,那么它是最好的改变box2D已经是2d代码,Bullet已经是软代码,还是混合了两个源代码?


谢谢!

physics rigid-bodies game-physics

29
推荐指数
2
解决办法
8674
查看次数

将相同的值设置为多个属性(CSS)

这似乎是一个愚蠢的问题,但我无法在任何地方找到答案.

有没有办法将多个CSS属性设置为一个值

border-left, border-right: 1px solid #E2E2E2;
Run Code Online (Sandbox Code Playgroud)

你可以用选择器做什么?

.wrapper, .maindiv { ... }
Run Code Online (Sandbox Code Playgroud)

css

26
推荐指数
4
解决办法
2万
查看次数

Const不匹配:2个重载没有'this'指针的合法转换

我收到这个奇怪的错误:

错误C2663:'sf :: Drawable :: SetPosition':2个重载没有'this'指针的合法转换

我认为它与const不匹配有关,但我不知道在哪里或为什么.在下面的代码中,我有一个形状和精灵的向量,当试图访问其中一个向量形状并调用其中一个函数时,我得到了错误.

std::vector<sf::Shape> Shapes;
std::vector<sf::Sprite> Sprites;

bool AddShape(sf::Shape& S){
    Shapes.push_back(S); return true;
};
bool AddSprite(sf::Sprite& S){
    Sprites.push_back(S); return true;
};

private:

virtual void Render(sf::RenderTarget& target) const {                
    for(unsigned short I; I<Shapes.size(); I++){
        Shapes[I].SetPosition(
            Shapes[I].GetPosition().x + GetPosition().x,
            Shapes[I].GetPosition().y + GetPosition().y);
        target.Draw(Shapes[I]);
    }
    for(unsigned short I; I<Sprites.size(); I++){
        target.Draw(Sprites[I]);
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

c++ const vector this-pointer

17
推荐指数
1
解决办法
2万
查看次数

了解STL中的迭代器

嗨,所以我有点困惑迭代器和它们实际上是......在C++ STL中

在这种情况下我使用列表,我不明白你为什么要做一个迭代器:
std::list <int>::const_iterator iElementLocator;

由derefrence运算符dipslay列表的内容:
cout << *iElementLocator;

将它分配给list.begin()之后;

请解释一下迭代器究竟是什么以及我为什么要使用它/使用它!
谢谢!!

c++ iterator stl

9
推荐指数
2
解决办法
4025
查看次数

如何在使用字符串流时停止双精度转换为科学记数法

我正在创建一个函数来返回十进制和整数位数,并typename使用sstreams 将插入的数字转换为字符串.

但是,转换为字符串时的数字用科学记数法表示,这对于计算正常数字中的数字位数没有用.如何在下面的函数中阻止这种情况发生?

enum { DECIMALS = 10, WHOLE_NUMBS = 20, ALL = 30 };

template < typename T > int Numbs_Digits(T numb, int scope)
{
    stringstream ss(stringstream::in | stringstream::out);
    stringstream ss2(stringstream::in | stringstream::out);
    unsigned long int length = 0;
    unsigned long int numb_wholes;

    ss2 << (int) numb;
    numb_wholes = ss2.str().length();
    ss2.flush();
    bool all = false;

    switch (scope) {
    case ALL:
        all = true;

    case DECIMALS:
        ss << numb;
        length += ss.str().length() - (numb_wholes + 1); …
Run Code Online (Sandbox Code Playgroud)

c++ scientific-notation stringstream

9
推荐指数
2
解决办法
2万
查看次数

如何在类中定义枚举并从外部使用它

仅仅因为我不知道在我的c ++书籍或谷歌上究竟在哪里查找.我如何在类中实际定义一些枚举(在本例中{ left=1, right=2, top=3, bottom=4 }).我希望能够将此枚举作为参数传递给成员函数而不是整数,因此在外部使用枚举...

有没有办法可以做到这一点,还是有更好的方法我可以只针对该类进行枚举?

这是不起作用的代码,enum mySprite::<unamed> myySprite::side member mySprite "mySprite::side" is not a type name出于某种原因说:

class mySprite : public sf::Sprite
{
public:
    enum{left=1, right=2, top=3, bottom=4} side;

    float GetSide(side aSide){
        switch(aSide){
            // do stuff
        }
    };
};
Run Code Online (Sandbox Code Playgroud)

c++ struct enumeration class

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

如何在Box2D中设置形状/夹具/主体的中心

嘿,我正在尝试集成SFML和Box2D,而SFML已经为精灵,形状等设置中心非常容易.Box2D,另一方面,我遇到了麻烦,因为我无法弄清楚如何设置甚至找到形状或夹具的中心.

在我看来,当手动将顶点添加到b2_PolygonShape时,中心被设置为顶点数组中的第一个顶点,但是当使用快捷函数SetAsBox()或任何其他SetAs_ _()时,结果会有很大差异.中心是盒子/形状的中间形状或半个范围.

我需要通用box2D和SFML的居中系统,但我无法弄清楚局部坐标系如何为对象工作.

如何在Box2D中设置/获取诸如形状,固定装置,物体等许多物体的中心?

c++ center object box2d centering

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

多边形分区与三角测量

我最近问过这个问题,关于如何将凹多边形切割成凸多边形,我建议做三角剖分或多边形分区.

我正在使用的库(SFML\Box2D)只采用凸形.

这就是我想知道的:

  1. 多边形分区或多边形的三角测量更快吗?

  2. Polygon Partitioning如何工作/你是如何做到的?


不要忘记三角测量不需要凸起的形状......

c++ math graphics triangulation convex-polygon

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

正确/不正确使用委托以实现可扩展性

我试图让我的GUI库用户不受限制地自定义输入/输出过渡效果,同时仍然保持简单/防止误用(当控件进入或退出视图时).

为此,我向Control类添加了一个委托,它将采用Control引用和转换完成百分比,以便用户能够以他想要的任何方式平滑地转换控件的位置/不透明度,基于给定百分比.他所要做的就是在控制进入/退出之前订阅过渡功能.

但是,我意识到仅使用当前完成百分比来转换/动画控件是不可能的,因为您还必须存储和比较控件的初始位置.
为了明确这个存储要求,我应该强制使用委托函子吗?

如果是这样,我怎么能以简约/干净的方式做到这一点?


随意提出另一种方法,允许用户应用自定义过渡动画!

c# generics code-reuse animation delegates

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