Cocos2d:将屏幕划分为2个场景

时间:2012-04-04 21:53:26

标签: iphone ios cocos2d-iphone xcode4.2

嗨所以我正在设计一个需要3个独立场景的iPhone应用程序,一个在顶部,一个在中间(主要),一个在底部,根据用户操作隐藏和取消隐藏。

这是一项要求,因为我需要中间(主要)场景在滑动手势和顶部/底部场景保持不变时进行更改。

我该怎么做?

PS:

我看了几个问题/解决方案,没有一个给出直截了当的答案。我只需要一些真正的帮助,如果那样好的话!

2 个答案:

答案 0 :(得分:1)

嗯..我想到的最简单的方法是在同一个屏幕上制作3层......并根据需要定位它们

很容易创建一个图层,

改变它的大小只需使用[ <layer> setContentSize:...],改变它的位置:<layer>.position=....

并检测触摸的图层:

- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event 
{
  CGPoint location = [self convertTouchToNodeSpace: touch];
if (CGRectContainsPoint(<layer1>.boundingBox, location))
{
  CCLog(@"touched 1st layer");
  return YES;
}
if (CGRectContainsPoint(<layer2>.boundingBox, location))
{
  CCLog(@"touched 2nd layer");
  return YES;
}
 return NO;
}

同样......对于第3层,只需使用CCMoveTo在屏幕上移动图层

答案 1 :(得分:0)

试试吧。它可能对你有帮助。

 -(void) registerWithTouchDispatcher
 {
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];
  }