Cocos2d, Box2D Все еще тело до ввода - PullRequest
1 голос
/ 05 февраля 2012

Эй, ребята, у меня есть вопрос, как мне создать тело, которое не будет иметь физических функций, пока я не нажму на него?у меня есть этот код в моем init

CCSprite *tail = [CCSprite spriteWithFile:@"Ball.jpg"];
[self addChild:tail z:1];

b2BodyDef tailBodyDef;
tailBodyDef.type = b2_dynamicBody;
tailBodyDef.position.Set(100/PTM_RATIO, 100/PTM_RATIO);
tailBodyDef.userData = tail;
tailBody = world->CreateBody(&tailBodyDef);

b2CircleShape circle;
circle.m_radius = 26.0/PTM_RATIO;

b2FixtureDef tailShapeDef;
tailShapeDef.shape = &circle;
tailShapeDef.density = 1.0f;
tailShapeDef.friction = 0.2f;
tailShapeDef.restitution = 0.8f;
tailBody->CreateFixture(&tailShapeDef);

[self schedule: @selector(tick:)];

Мяч упадет с края экрана в начале игры, но это не то, что я хочу.Я хочу, чтобы он оставался в том же положении, пока я не нажму его.В любом случае, я мог бы удерживать объект, пока не введу какой-либо ввод?

1 Ответ

1 голос
/ 06 февраля 2012

Не пробовал, но переключение свойства setActive кажется идеальным.

tailBody->setActive(NO);

Ознакомьтесь с разделом 'активация' здесь: http://www.box2d.org/manual.html#_Toc258082973

...