我的屏幕上有各种精灵,它们正在追逐他们的目标。这一切都很好。
我的问题是,有没有办法设置边界?我不希望他们能够在屏幕上移动到 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 位置]:无法识别的选择器发送到实例 0x84597b0
我想要做的就是让精灵在 160 处停止,以及 checkCollision 方法的用途。只需将其位置设置为 160。