Cocos2D 2.0 - 将边界框坐标转换为控制器视图空间



我需要在弹出框上显示一个UIActionSheet,这个弹出框有一个指向Cocos2D上的元素的箭头。

我需要根据显示 UIActionSheet 的控制器视图坐标计算此元素的 boundingBox 矩形,因此操作表箭头将指向它。

我该怎么做?

这是我

创建的快速示例,只需将UIPopoverController更改为UIActionSheet即可。

CCNode* node = (CCNode *)sender;
CGPoint worldPoint = [node convertToWorldSpace:CGPointZero];
CGRect rect = [sender boundingBox];
rect.origin = worldPoint;
// Convert position based on Apple's anchor point from cocos2d's anchor point
rect.origin.y = rect.origin.y + rect.size.height;
CGPoint convertedLocation = [[CCDirector sharedDirector] convertToUI:ccp(rect.origin.x, rect.origin.y)];
rect.origin = convertedLocation;
UIViewController* viewController= [[UIViewController alloc] init];
[[viewController view] setBackgroundColor:[UIColor greenColor]];
UIPopoverController* c = [[UIPopoverController alloc] initWithContentViewController:viewController];
[c presentPopoverFromRect:rect inView:[[CCDirector sharedDirector] view] permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

最新更新