Cocos2d Spritebuilder движется столкновение персонажа с землей
Я работал над этой проблемой, но не могу найти решение, вот моя ситуация.
Персонаж в настоящее время перемещается, и пользователи должны иметь возможность касаться 2 кнопок, чтобы заставить персонажа двигаться влево или вправо. (правая кнопка и левая кнопка) вот мой код:
- (void)touchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
CGPoint touchLocation = [touch locationInNode: _contentNode];
CGSize size = [[CCDirector sharedDirector] viewSize];
id moveLeft = [CCActionMoveBy actionWithDuration:1.5 position:ccp(-size.width/1,5)];
[moveLeft setTag:11];
id moveRight = [CCActionMoveBy actionWithDuration:1.5 position:ccp(size.width/1,5)];
[moveRight setTag:12];
if(CGRectContainsPoint([_leftButton boundingBox], touchLocation)) {
[_character runAction:moveLeft];
NSLog(@"the left button was pressed");
}
if(CGRectContainsPoint([_rightButton boundingBox], touchLocation)) {
[_character runAction:moveRight];
NSLog(@"the right button was pressed");
}
}
- (void)touchEnded:(UITouch *)touch withEvent:(UIEvent *)event{
[_character stopActionByTag:11];
[_character stopActionByTag:12];
}
-(void) stopActionByTag:(NSInteger)tag {
[_character stopActionByTag:tag];
}
Проблема сейчас в том, что когда я устанавливаю статическое состояние земли и запускаю игру, персонаж фактически может проникнуть сквозь землю. Даже создавая статическую почву, персонаж может перемещаться по земле. Я делаю приключенческую игру для IOS, и эта функция очень важна для дизайна уровней. Мне нужно, чтобы земля была статичной, и персонаж должен остановиться, когда между ними произойдет столкновение.
Любая помощь будет благодарна.
Спасибо