cocos2dx ios横屏分享截图为什么横屏显示不全

cocos2d怎么设置屏幕朝向?横屏 or 竖屏设置 - CSDN博客
cocos2d怎么设置屏幕朝向?横屏 or 竖屏设置
在cocos引擎里面找了好久,没找到相关接口,网上也搜索了好久,最后发现,原来需要根据各个平台分别进行设置。
修改项目根目录&proj.android\AndroidManifest.xml 文件中的android:screenOrientation属性值,portrait 为竖屏,landscape为横屏
直接用cocos引擎接口中的GLView::createWithRect方法指定窗口大小,需要注意的是,该方法在android环境下会报错,并导致程序崩溃,所以我们需要在代码里面这么写
bool AppDelegate::applicationDidFinishLaunching() {
// initialize director
auto director = Director::getInstance();
auto glview = director-&getOpenGLView();
if(!glview) {
#ifdef WIN32
glview = GLView::createWithRect(&My Game&, cocos2d::Rect(0,0,640,960));
glview = GLView::create(&My Game&);
#endif // WIN32
director-&setOpenGLView(glview);
}其他平台待续....
本文已收录于以下专栏:
相关文章推荐
    在开发中,有时候我们回到这样一种需求:从一个竖屏界面跳转到下一个横屏界面,或者反之。如果是安卓的话,就很简单,安卓系统提供这样的API,直接操作即可。但是iOS就不好办了,在iOS3.0...
android解决方案:
1.在游戏的主activity中编写一个静态方法(继承Cocos2dxActivity)
public static void changedActivityOrient...
找到项目中的AndroidManifest.xml文件并打开
screenOrientation=&landscape& 为横屏,
screenOrientation=&portrait&...
打开项目中的AndroidManifest.xml文件中,
screenOrientation=&landscape& 为横屏,
screenOrientation=&portrait&为...
游戏服务器压力测试总结
从游戏内测开始到现在做了所有服务器压力相关的测试.现在进行总结.暂时还不方便说游戏架构,所以不上图了。
一.首先明确需要测试压力的内容:
1.游戏服务器硬...
一、横屏、竖屏设置
1、android
AndroidManifest.xml文件中,
screenOrientation=&landscape& 为横屏,
screenOri...
本文主要讲述ios的几种设置横竖屏方法以及Android如何设置竖屏
本站文章均为 李华明Himi 原创,转载务必在明显处注明:(作者新浪微博: @李华明Himi ) 转载自【黑米GameDev街区】 原文链接: /lua1...
横竖屏是JAVA代码:
mainActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT:ActivityI...
他的最新文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)本帖子已过去太久远了,不再提供回复功能。cocos2d-x如何截屏并保存图片 - Bill Yuan - 博客园
正确性、健壮性、可靠性、效率、易用性、可读性、可复用性、兼容性、可移植性...
posts - 866, comments - 26, trackbacks - 0, articles - 0
static void ScreenShoot()
CCSize size = CCDirector::sharedDirector()-&getWinSize();
//定义一个屏幕大小的渲染纹理
CCRenderTexture* pScreen = CCRenderTexture::create(size.width,size.height, kCCTexture2DPixelFormat_RGBA8888);
//获得当前的场景指针
CCScene* pCurScene = CCDirector::sharedDirector()-&getRunningScene();
//渲染纹理开始捕捉
pScreen-&begin();
//当前场景参与绘制
pCurScene-&visit();
//结束捕捉
pScreen-&end();
//保存为png
pScreen-&saveToFile("XXXXXX.png", kCCImageFormatPNG);
//保存为jpg
pScreen-&saveToFile("XXXXXX.jpg", kCCImageFormatJPEG);
CC_SAFE_DELETE(pScreen);
有人问这个是保存到哪儿去了。这个是写出文件,所以应该是保存到写出路径下面,翻看了下源码,果然是。写出路径为CCFileUtils::sharedFileUtils()-&getWritablePath(),字面理解,这个是可写出的路径,不同平台路径也不同,不过可以通过上面的方法去获取这个路径~~~
想具体了解各个平台的写出路径,可以去看看源码。
win32平台的话,如果debug会生成到exe输出的那个路径,release的话,会生成到c盘用户下面的项目下面~
如果大家有其他的自定义写出文件,可以直接指定路径到CCFileUtils::sharedFileUtils()-&getWritablePath()下面Cocos2dx-截屏并设置图片尺寸 - CSDN博客
Cocos2dx-截屏并设置图片尺寸
猴子原创,欢迎转载。转载请注明:&转载自,谢谢!原文地址:&前几天添加微信图片分享的时候,发现全屏截图超出了微信的数据包大小,所以截屏的时候可以考虑缩小尺寸到0.5倍。下面的截屏代码:void LHUtil::screenShoot()
Size visibleSize = Director::getInstance()-&getVisibleSize();
//定义一个屏幕大小的渲染纹理
RenderTexture* renderTexture = RenderTexture::create(visibleSize.width * .5, visibleSize.height * .5, Texture2D::PixelFormat::RGBA8888);
Scene* curScene = Director::getInstance()-&getRunningScene();
Point ancPos = pCurScene-&getAnchorPoint();
//渲染纹理开始捕捉
renderTexture-&begin();
// 缩小屏幕截屏区域
curScene-&setScale(.5);
curScene-&setAnchorPoint(cocos2d::Point(0, 0));
//绘制当前场景
curScene-&visit();
renderTexture-&end();
renderTexture-&saveToFile(&screenshoot.png&, Image::Format::PNG);
// 恢复屏幕尺寸
curScene-&setScale(1);
curScene-&setAnchorPoint(ancPos);
CC_SAFE_DELETE(curScene);
}上面是cocos2dx的获取截屏的方法。我顺便写下如何用OC的UIGraphicsBeginImageContext获取UIView转化成UIImage.下面是ios方法:-(void)screenShot:(CGRect)rect{
// 开始设置截屏区域
UIGraphicsBeginImageContextWithOptions(rect.size, YES, 0);
[[self.view layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// 获取image,可以根据需要进行尺寸修改
CGImageRef imageRef = viewImage.CGI
CGImageRef imageRefRect =CGImageCreateWithImageInRect(imageRef, rect);
UIImage *image = [[UIImage alloc] initWithCGImage:imageRefRect];
// 保存图片到相册, 这里会提示用户授权,不需要保存的话,可以取消
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
// 获取Documents目录
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@&temScreenShot.png&];
// 保存image到Documents目录
NSData *imageData = UIImagePNGRepresentation(image);
[imageData writeToFile:savedImagePath atomically:YES];
CGImageRelease(imageRefRect);
本文已收录于以下专栏:
相关文章推荐
cocos2d imageview 设置固定大小: ignoreContentAdaptWithSize(false) 
是否忽略自定义大小, 设为false后, 就不忽略了
最近项目资源内存占用过高需要将png数据格式适当降低,所以贴出cocos2d-x中相关代码,学习学习。
bool CCTexture2D::initPremultipliedATextureWith...
最好的减少资源方式当然是从设计上避免。比如:
1. 减少帧动画的使用(这也是骨骼动画大行其道的原因)。
2. 尽量复用资源(比如九宫格技术,角色间通用特效,肉眼排查,等等)
3. 不得不使用帧动...
我们要保存当前的运行的scene的截图的话,我用到CCRenderTexture,看例子代码:
CCSize size = CCDirector::sharedDirector()-&getWinS...
pvrtc 和 etc是硬件支持的格式,因此,不会进行内存和显存解码,将会省许多
同时,由于不会解码,那CPU到GPU的传输量就会变少,在手机平台这种总线带宽小的设备上,可以得到一定量的性能提升。
...
本文基于cocos2d-js 3.0版本引擎开发
RenderTexture用法1:数字图片
通过这张图片实现任意数字
//数字图片精灵var PictureNumber = cc.Sprite....
调用cc.RenderTexture 即可。
--需要截的屏幕大小
local render_texture = cc.RenderTexture:create(640, 1136)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网ǎ?恍唬

我要回帖

更多关于 cocos2d 安卓横屏 的文章

 

随机推荐