我有这个代码,在行中给我运行时错误:
body->CreateFixture(&BoxDef)
我在windows中使用cocos2d-x 2.1.5和Box2d 2.2.1
CCSprite *sprite = CCSprite::create(imageName.c_str()); this->addChild(sprite,1); b2BodyDef bodyDef; bodyDef.type = isstatic?b2_staticBody:b2_dynamicBody; bodyDef.position.Set((position.x+sprite->getContentSize().width/2.0f)/PTM_RATIO,(position.y+sprite->getContentSize().height/2.0f)/PTM_RATIO); bodyDef.angle = CC_degrees_TO_radians(rotation); bodyDef.userData = sprite; b2Body *body = world->CreateBody(&bodyDef); b2FixtureDef BoxDef; if (isCircle) { b2CircleShape circle; circle.m_radius = sprite->getContentSize().width/2.0f/PTM_RATIO; BoxDef.shape = &circle; } else { b2polygonShape Box; Box.SetAsBox(sprite->getContentSize().width/2.0f/PTM_RATIO,sprite->getContentSize().height/2.0f/PTM_RATIO); BoxDef.shape = &Box; } if (isEnemy) { BoxDef.userData = (void*)1; enemies->insert(body); } BoxDef.density = 0.5f; body->CreateFixture(&BoxDef) //<-- HERE IS THE RUN TIME ERROR
;
当我调试Box2d代码即时到达b2Fixture.cpp
在方法中:
void b2Fixture::Create(b2BlockAllocator* allocator,b2Body* body,const b2FixtureDef* def)
在线:
m_shape = def->shape->Clone(allocator);
得到运行时错误:
R6025 pure virtual function call
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。