我是新來的,沒有線索,我現在讀了很多東西,但不知何故,他們似乎都錯過了解釋。與obj-c薄弱環節等丟失
我正在做一個遊戲thingy進入它,但不知何故我迷路了。
GameScene.h在這種接口的一個了以下聲明:
Player *player;
b2Body *b2PlayerBody;
的GameScene.mm內(使用Box2D的,所以需要.mm)當在功能我創建的播放器(它來自另一個類)我將這個b2PlayerBody設置爲我使用過的身體,將其推送給玩家類並使用它。
-(void) addPlayerAtPosition:(CGPoint)p
{
CCLOG(@"Adding player at %0.2f x %02.f",p.x,p.y);
// Player
player = [[Player alloc] initWithPosition:ccp(p.x, p.y)];
player.anchorPoint = ccp(0,0.5);
[self addChild:player z:10 tag:kTagPlayerNode];
// Define the dynamic body.
//Set up a 1m squared box in the physics world
b2BodyDef bodyDef;
bodyDef.type = b2_dynamicBody;
bodyDef.position.Set(p.x/PTM_RATIO, p.y/PTM_RATIO);
b2PlayerBody = world->CreateBody(&bodyDef);
// Define another box shape for our dynamic body.
b2PolygonShape dynamicBox;
dynamicBox.SetAsBox(.5f, .5f);//These are mid points for our 1m box
// Define the dynamic body fixture.
b2FixtureDef fixtureDef;
fixtureDef.shape = &dynamicBox;
fixtureDef.density = 1.0f;
fixtureDef.friction = 0.3f;
b2PlayerBody->CreateFixture(&fixtureDef);
[player setPhysicsBody:b2PlayerBody];
}
在這個文件我稱之爲我的更新方法(dt爲增量):
[player update:dt withBody:b2PlayerBody]; //update player
在player.h文件我有: 爲
- (void)update:(ccTime)dt withBody:(b2Body *)body;
和declatration裏面player.mm文件我有
- (void)update:(ccTime)dt withBody:(b2Body *)body {
}
啓動時,它崩潰從GameScene.mm更新沒有任何錯誤文本
[player update:dt withBody:b2PlayerBody]; //update player
我在做什麼錯?
也可以有人epxlain對我來說有什麼區別(對不起,如果這是一個愚蠢的Q)
b2Body * b2PlayerBody之間; b2Body * b2PlayerBody; //我知道這是一個薄弱環節,但差異是什麼。 b2Body b2PlayerBody;
也做這些鏈接方法對釋放方法的內存釋放有影響嗎?
我已經解決了(b2Body *)body {在方法和(b2body *)在init ...仍然想知道雖然... – renevdkooi 2012-03-23 05:57:02