我一直在研究这个问题,但找不到解决办法,这是我的情况。
角色当前移动,用户应该能够触摸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制作冒险游戏,这个功能对于关卡设计非常重要。 我需要地面是静止的,当它们之间发生碰撞时,角色应该停止。
任何帮助都会很有意义。
感谢