画面にさまざまなスプライトがあり、ターゲットを追いかけています。それはすべてうまくいきます。
私の質問は、境界を設定する方法はありますか? 画面上の 160 ポイントを超えて移動できないようにしたいのですが?
私が見るすべての例は常にbox2dを使用しています.cocos2dで厳密に行う方法はありますか?
- (void)addPlayers {
winSize = [CCDirector sharedDirector].winSize;
_officer = [[Officer alloc] initWithLayer:self];
_officer.position = ccp(winSize.width/2, 40);
_officer.tag = 1;
[_batchNode addChild:_officer];
_shotCaller = [[ShotCaller alloc] initWithTeam:2 layer:self];
//create spawn point
_shotCaller.position = ccp(100, 100);
[_batchNode addChild:_shotCaller];
NSString *gunName = [NSString stringWithFormat:@"gun.png"];
_gun = [CCSprite spriteWithSpriteFrameName:gunName];
_gun.anchorPoint = ccp(0.5, 0.25);
_gun.position = ccp(_shotCaller.contentSize.width/2, _shotCaller.contentSize.height/2 - 20);
[_shotCaller addChild:_gun];
[self moveRandom:_shotCaller];
NSMutableArray *team1GameObjects = [NSMutableArray arrayWithObject:_officer];
NSMutableArray *team2GameObjects = [NSMutableArray arrayWithObject:_shotCaller];
_gameObjects = [NSMutableArray arrayWithObjects:team1GameObjects, team2GameObjects, nil];
}
for(CCSprite *myNode in _gameObjects)
{
if (myNode.position.y == 160 ) {
NSLog(@"1");
[self checkCollision];
}
}
このエラーが発生し続けますか? -[__NSArrayM position]: 認識されないセレクターがインスタンス 0x84597b0 に送信されました
私がやりたいのは、スプライトを 160 で停止させ、checkCollision メソッドの目的を達成することだけです。位置を 160 に設定するだけです。