ccc截屏的功能

原来在cocos-js是这样实现的:

    var target = new cc.RenderTexture(winSize.width, winSize.height, 2);
    target.begin();
    cc.director.getRunningScene().visit();
    target.end();

但到了creator好像 cc.director.getRunningScene() 为空,
之后换成this.node.visit() ,提示没有visit方法,不知道还有没有其他方法?

现在是cc.director.getScene();和this.node._sgNode.visit();

2赞

感谢回复,通过this.node._sgNode.visit(),没有截到当前屏幕。
this.node这个节点是没有问题的,请问_sgNode这个纹理确实是可用的吧?

target.begin(); this.node._sgNode.visit(); target.end(); var name = "test.jpg" var result = target.saveToFile(name, cc.IMAGE_FORMAT_JPEG,false);

可以用的,我用Creator Windows模拟器截过。不知道你说的没截到是指找不到test.jpg文件,还是test.jpg里面是空的。

  1. 找不到文件:如果用模拟器的话,test.jpg会在CocosCreator\resources\cocos2d-x\simulator\win32目录下。
  2. 图片为空:调整一下RenderTexture的Size和Position,先设置大一点,截到图后再自己计算坐标缩小Size。

解决了,是我creator版本低的原因,多谢大力支持~