1
NSMutableArray *sumPositionArray;
sumPositionArray = [[NSMutableArray alloc] init];  
for (int i = 0; i < 10; i++) 
{
      b2Body *currentBody = (b2Body*)[[bodies objectAtIndex:i] pointerValue];
      b2Vec2 innerPosition=innerCircleBody->GetPosition(); 
      float theta = deltaAngle*i; 
      float x = radius*cosf(theta);
      float y = radius*sinf(theta);
      b2Vec2 circlePosition = b2Vec2(x/PTM_RATIO, y/PTM_RATIO);
      b2Vec2 sumPosition=innerPosition+circlePosition;
      b2Vec2 impulse = b2Vec2(0,0);
      b2Vec2 sumposition=innerPosition+circlePosition;
      [sumPositionArray addObject:[NSValue valueWithPointer:sumPosition]];
}

次のエラーが表示されます: b2vec2 から 'const void *' への実行可能な変換はありません

4

2 に答える 2

2

B2Vec2 座標を CGPoint に変換すると、NSValue を使用して配列に挿入できます。

NSArray *points = [NSArray arrayWithObjects:
                     [NSValue valueWithCGPoint:CGPointMake(5.5, 6.6)],
                     [NSValue valueWithCGPoint:CGPointMake(7.7, 8.8)],
                     nil];
于 2012-11-07T08:54:51.493 に答える
0

それは働いています。ありがとう@Shailesh

for (int i = 0; i < 10; i++) 
{
 CGPoint currentBo =[[sumPositionArray objectAtIndex:i] CGPointValue];  // get CGPoint into Array

}
于 2012-11-07T09:39:23.773 に答える