나는 chipmunk에서 커다란 원을 만들려고합니다. 그 원은 한 위치에서 손가락을 길게 터치하면 성장하기 시작합니다. 나는 chipmunk에서 특정 도움말 기능을 발견하지 못했습니다. 누군가가 조언, 팁 또는 트릭을 수행하는 방법을 알고 있는지 궁금합니다.cocos2d 및 chipmunk에서 성장하는 원
한 가지 방법은 이전의 것보다 약간 큰 원을 만들고 이전의 원을 업데이트하는 것입니다. 어쩌면 더 쉬운 방법이있을 수 있습니다.
감사
UPDATE : 내 actionLayer 클래스에서
: 내 "spriteObject"클래스에서
-(BOOL) ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
CGPoint touchLocation = [touch locationInView: [touch view]];
CGPoint circleOrigin = [[CCDirector sharedDirector] convertToGL: touchLocation];
spriteObject = [[[CPHatchimal alloc] initWithSpace:space atLocation:circleOrigin] autorelease];
[sceneSpriteBatchNode addChild:spriteObject z:2];
return YES;
}
-(void) ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event
{
[spriteObject setGrowCircle:NO];
}
:
-(void) update:(ccTime)deltaTime {
if (growCircle) {
CGPoint location = ccp(circleOrigin.x, circleOrigin.y);
cpFloat r = ((cpCircleShape*) shape)->r;
r++;
NSString *spritName = [self getCurrentSpriteName];
[self setDisplayFrame:[[CCSpriteFrameCache sharedSpriteFrameCache]
spriteFrameByName:spritName]];
[self setScale:(0.01 * r)];
cpSpaceRemoveStaticShape(space, shape);
cpShapeFree(shape);
body = cpBodyNewStatic();
body->p = location;
shape = cpCircleShapeNew(body, radius, cpvzero);
shape->e = e;
shape->u = u;
shape->collision_type = collisionType;
shape->data = self;
cpSpaceAddStaticShape(space, shape);
}
}
나는 다음과 같은 방법을 사용하여 순간
나는 꽤 좋은 fps (약 60)를 가지고있다. 그래서 나는 ESS는이 솔루션은 .. 당신은 내가 일반적으로 그것을 사용하는 사람들을 격려하지 않는 한 별도로이 헤더를 가져와야합니다
당신의 길은 CPU에서 과부하가 걸릴 것입니다. 그러나 일반적인 원형 스프라이트를 사용하고 터치하면 원형 스프라이트의 크기를 조절할 수 있습니다. 이제 문제는 얼마나 확대하고 싶은가요? – gixdev