В настоящее время, в cocos2d, у меня есть приложение, которое выполняет следующие функции:Cocos2d Box2d Scaling Радиус окружность тела
Инициацию с пустым экраном. Когда я коснусь экрана, я получаю круг для всплывающего окна. Когда я держу круг, круг будет продолжать расти с постоянной скоростью. Однако, несмотря на то, что спрайт растет, физическое тело box2d отсутствует, а это означает, что спрайт не столкнется с другими телами. Я пытался выяснить способ изменения радиуса, который масштабируется с помощью спрайта, но здесь нет такого вопроса для cocos2d. Я заметил другой box2d для вещей, отличных от cocos2d, но мне сложно перевести их.
//smile.position = ccp(touchLocation.x, touchLocation.y);
smile.scale = .05;
[self addChild:smile];
// b2BodyDef smileBodyDef;
smileBodyDef.type = b2_dynamicBody;
smileBodyDef.position.Set(touchLocation.x/PTM_RATIO, touchLocation.y/PTM_RATIO);
smileBodyDef.userData = smile;
smileBody = world->CreateBody(&smileBodyDef);
//Radius
b2CircleShape smileCircleShape;
int radius = 80;
//Fixture
smileFixtureDef.shape = &smileCircleShape;
smileFixtureDef.density = 0.00f;
smileFixtureDef.friction = .2f;
smileBody->CreateFixture(&smileFixtureDef);
if (CGRectContainsPoint(smileRect, touchLocation)) {
growForever = [CCRepeatForever actionWithAction: [CCScaleBy actionWithDuration: .5 scale: 1.2]];
[growForever setTag:1];
[smile runAction:growForever];
Пожалуйста, пост код. .! – Shailesh
Код только что добавлен. –