我是新的cocos2dx开发者。我使用的是cocos2dx版本2.2.6。现在我想在gmail和facebook上分享图片。我参考了许多网站和建议,但我还不清楚分享。
答案 0 :(得分:0)
我们可以使用UIActivityViewController
创建共享对话框,并使用一些CCRenderTexture
代码来截取屏幕截图。点击共享按钮后,可以使用多种共享选项,具体取决于用户在手机上可用的应用程序。
您可以使用以下代码创建共享弹出窗口:
func openShareDialog() {
var scene = CCDirector.sharedDirector().runningScene
var node: AnyObject = scene.children[0]
var screenshot = screenShotWithStartNode(node as! CCNode)
let sharedText = "Text"
let itemsToShare = [screenshot, sharedText]
var excludedActivities = [ UIActivityTypeAssignToContact,
UIActivityTypeAddToReadingList, UIActivityTypePostToTencentWeibo]
var controller = UIActivityViewController(activityItems: itemsToShare, applicationActivities: nil)
controller.excludedActivityTypes = excludedActivities
UIApplication.sharedApplication().keyWindow?.rootViewController?.presentViewController(controller, animated: true, completion: nil)
}
然后我们可以使用CCRenderTexture
:
func takeScreenshotWithNode(node: CCNode) -> UIImage {
CCDirector.sharedDirector().nextDeltaTimeZero = true
var viewSize = CCDirector.sharedDirector().viewSize()
var rtx = CCRenderTexture(width: Int32(viewSize.width), height: Int32(viewSize.height))
rtx.begin()
node.visit()
rtx.end()
return rtx.getUIImage()
}
以下是弹出窗口显示时实际外观的示例:
您可以在Apple's docs.
中找到有关UIActivityViewController
的更多信息
答案 1 :(得分:0)
通过阅读文档here,您可能会发现它很方便。
cocos2d-x.org网站还有其他detailed instructions,其中包括iOS的内容。