円のボディ/形状を作成し、それを UIImage にフックしようとしています。これは、透明な背景を持つ .png で、サイズが 60 x 60px の単純な円です。
私はそれを行うために以下のコードを使用していますが、正常に動作していますが、円の画像の周りに目に見えない大きな領域があるようです (つまり、円の画像の側面は、円の本体などの他のオブジェクトに触れることができません)。半径などのすべての測定で60pxを使用しているため、なぜこれが起こっているのかわかりません.コードは以下のとおりです。
- (void) createCircleAtLocation: (CGPoint) location
{
_button1 = [[UIButton alloc] init];
_button1 = [UIButton buttonWithType: UIButtonTypeCustom];
[_button1 setImage: [UIImage imageNamed: @"ball.png"] forState: UIControlStateNormal];
_button1.bounds = CGRectMake(location.x, location.y, 60, 60);
[self.view addSubview: _button1];
float mass = 1.0;
body1 = cpBodyNew(mass, cpMomentForCircle(mass, 60.0, 0.0, cpvzero));
body1 -> p = location; // Center of gravity for the body
cpSpaceAddBody(space, body1); // Add body to space
cpShape *shape = cpCircleShapeNew(body1, 60.0, cpvzero);
shape -> e = 0.8; // Set its elasticity
shape -> u = 1.0; // And its friction
cpSpaceAddShape(space, shape); // And add it.
}