提问者:小点点

如何在iOS上的cocos2d-x2.x中将截图上传到Facebook?


我已经搜索过了,但是没有找到在iOS上把截图上传到脸书的解决方案

在cocos2d-x中,gamescene.cpp:

void GameScene::takeScreenshot()
{
    SoundManager::getInstance()->playSound("sound2.mp3");
    CCSize size = CCDirector::sharedDirector()->getWinSize();
    CCRenderTexture* texture = CCRenderTexture::create((int)size.width, (int)size.height);
    texture->setPosition(ccp(size.width/2, size.height/2));
    texture->begin();
    CCDirector::sharedDirector()->getRunningScene()->visit();
    texture->end();
    texture->saveToFile("screenshot.png", kCCImageFormatPNG);

    Link::postToFacebook();

}

在链接:postToFacebook函数中:

if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {

        SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

        [controller setInitialText:@"First post from my iPhone app"];
        [controller addURL:[NSURL URLWithString:@"http://www.jinibot.com"]];
//        [controller addImage:image];
        [controller addImage:[UIImage imageNamed:@"screenshot.png"]];


        [controller dismissViewControllerAnimated:YES completion:nil];

        //add as many images as you want
//        [controller presentViewController:mail animated:YES completion:nil];
    }

但它不起作用。

请帮帮我。谢谢!


共1个答案

匿名用户

你代码的问题是

[controller addImage:[UIImage imageNamed:@"screenshot.png"]];

这种方法

texture->saveToFile("screenshot.png", kCCImageFormatPNG);

将图像保存在Documents Directory中,但在这里您将图像用作无法检索的捆绑图像。因此,从NSDocuments目录路径创建UIImageObject。代码会正常工作。:)