`
alex09
  • 浏览: 974883 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

cocos2d 截屏幕代码

 
阅读更多
-(UIImage *) glToUIImage {
NSInteger myDataLength = 320 * 480 * 4;
   
// allocate array and read pixels into it.
GLubyte *buffer = (GLubyte *) malloc(myDataLength);
glReadPixels(0, 0, 320, 480, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
   
// gl renders "upside down" so swap top to bottom into new array.
// there's gotta be a better way, but this works.
GLubyte *buffer2 = (GLubyte *) malloc(myDataLength);
for(int y = 0; y < 480; y++)
{
for(int x = 0; x < 320 * 4; x++)
{
buffer2[(479 - y) * 320 * 4 + x] = buffer[y * 4 * 320 + x];
}
}
   
// make data provider with data.
CGDataProviderRef provider = CGDataProviderCreateWithData(NULL, buffer2, myDataLength, NULL);
   
// prep the ingredients
int bitsPerComponent = 8;
int bitsPerPixel = 32;
int bytesPerRow = 4 * 320;
CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB();
CGBitmapInfo bitmapInfo = kCGBitmapByteOrderDefault;
CGColorRenderingIntent renderingIntent = kCGRenderingIntentDefault;
   
// make the cgimage
CGImageRef imageRef = CGImageCreate(320, 480, bitsPerComponent, bitsPerPixel, bytesPerRow, colorSpaceRef, bitmapInfo, provider, NULL, NO, renderingIntent);
   
// then make the uiimage from that
UIImage *myImage = [UIImage imageWithCGImage:imageRef];
return myImage;
}

-(void)captureToPhotoAlbum {
UIImage *image = [self glToUIImage];
UIImageWriteToSavedPhotosAlbum(image, self, nil, nil);
}
分享到:
评论

相关推荐

    cocos2D-lua 核心编程内置代码

    1. 场景(Scene):在Cocos2d-lua中,每个游戏状态或屏幕对应一个场景,场景之间可以互相切换。 2. 层(Layer):场景由多个层组成,层是显示内容的基本单元,可以包含精灵、文本、菜单等元素。 3. 精灵(Sprite):...

    cocos2d-x版本的对对碰代码

    【cocos2d-x版本的对对碰代码】是一个基于Cocos2d-x游戏引擎实现的经典消除类游戏项目,它将原有的Cocos2d版本的对对碰游戏移植到了跨平台的Cocos2d-x框架下。Cocos2d-x是Cocos2d的C++扩展,支持iOS、Android、...

    cocos2d碰撞检测代码

    在游戏开发中,碰撞检测是不可或缺的一个重要环节,特别是在2D游戏引擎如Cocos2d中。Cocos2d是一个广泛使用的开源游戏框架,它提供了丰富的功能,包括场景管理、动画、物理模拟以及我们今天要讨论的碰撞检测。在...

    知易cocos2d源代码

    【知易cocos2d源代码】是一套完整的Cocos2D框架源码,专为初学者设计,便于他们入门并学习iPhone游戏开发。Cocos2D是一个流行的游戏开发框架,广泛应用于iOS、Android以及Mac OS X等平台,它简化了2D游戏的构建过程...

    Cocos2d-x实战:C++卷(2版)源代码

    《Cocos2d-x实战:C++卷(2版)源代码》这本书是关于使用Cocos2d-x游戏引擎进行游戏开发的专业指南。Cocos2d-x是一个开源的、跨平台的游戏开发框架,广泛应用于iOS、Android、Windows等多个操作系统。本书以C++语言...

    cocos2d-x 跑酷源码

    3. 触摸事件处理:跑酷游戏通常需要响应玩家的触摸操作,如滑动屏幕控制角色移动,cocos2d-x提供了触摸事件监听机制。 4. 物理引擎:Box2D物理引擎用于模拟角色与障碍物的碰撞,实现真实感的运动效果。 5. 游戏逻辑...

    保卫萝卜cocos2d源码

    《保卫萝卜》是一款深受玩家喜爱的塔防游戏,它的核心引擎是Cocos2d,一个强大的2D游戏开发框架。本文将深入探讨基于Cocos2d的《保卫萝卜》源码,解析其设计理念、编程技术和游戏逻辑。 首先,Cocos2d是一个开源的...

    cocos2d-x 3.0

    本篇文章将深入探讨cocos2d-x 3.0中实现人物行走的关键技术和步骤,以及如何结合提供的代码和图片资源进行实践。 一、cocos2d-x 3.0简介 cocos2d-x 3.0是cocos2d-x系列的一个重要升级,它基于C++编写,支持跨平台...

    cocos2d实现屏幕背景滚动

    cocos2d屏幕滚动的源代码,自己写的确定可用,我的博客有详细介绍!

    cocos2d-js 开发之旅-源代码

    《cocos2d-js 开发之旅》是一本深入解析cocos2d-js框架的书籍,其配套源代码提供了丰富的实践示例,帮助开发者更直观地理解cocos2d-js的运用。cocos2d-js是Cocos2D跨平台游戏引擎的JavaScript版本,它为Web开发人员...

    cocos2d-x 《保卫萝卜》源代码

    总的来说,《保卫萝卜》的源代码揭示了Cocos2d-x在2D游戏开发中的应用,涵盖了游戏设计、动画、音频处理、跨平台发布等多个方面的知识。通过研究这套源代码,开发者可以学习到如何利用Cocos2d-x框架构建一款功能完备...

    cocos2d的学习资料

    2. **场景管理**:场景是cocos2d-x中的一个核心概念,它类似于一个游戏或应用的主屏幕。你可以将多个层和精灵组织成场景,然后在场景之间进行切换。 3. **动画系统**:cocos2d-x提供了强大的动画工具,如基于时间的...

    Cocos2d-x2.1.5的代码提示包

    这个“Cocos2d-x2.1.5的代码提示包”是专门为Cocos Code IDE设计的,Cocos Code IDE是一个集成开发环境(IDE),专为Cocos2d-x提供便捷的代码编写和调试体验。代码提示包的作用在于提升开发效率,它包含了对Cocos2d-...

    cocos2d-x-3.1.zip

    1. **跨平台支持**:Cocos2d-x 3.1支持多种操作系统和设备,包括iOS、Android、Windows、Mac、Linux等,使得开发者可以编写一次代码,到处运行。 2. **C++基础**:Cocos2d-x主要采用C++作为编程语言,同时也支持Lua...

    cocos2d 2.0与UIKit结合的例子

    4. **布局与大小调整**:UIKit视图需要根据Cocos2d的屏幕尺寸和方向进行适配。可能需要重写`layoutSubviews`方法,并考虑使用Auto Layout或Size Classes来实现自适应布局。 5. **性能优化**:在Cocos2d和UIKit的...

    iOS 2048游戏代码 cocos2d

    4. **触摸事件**:实现cocos2d的触摸事件监听,当用户在屏幕上滑动时,捕捉滑动方向并执行相应的合并操作。这需要对cocos2d的事件监听器进行配置,以及编写处理滑动事件的逻辑代码。 5. **数字合并与生成**:编写...

    cocos2d-x自适应屏幕分辨率 源码

    cocos2d-x提供了自适应屏幕分辨率的功能,帮助开发者解决这一问题。本篇文章将深入探讨cocos2d-x如何实现自适应屏幕分辨率,并基于提供的源码进行分析。 首先,我们来理解cocos2d-x中的几个关键概念: 1. **设计...

    cocos2d游戏引擎

    在cocos2d的文件列表中,“cocos2d-master”可能是一个包含cocos2d源代码的主分支,这通常意味着用户可以获取到最新、最完整的cocos2d项目,包括所有必要的子模块、示例项目、文档和构建脚本。对于开发者而言,这...

    Cocos2d-x 3.0的俄罗斯方块代码

    《Cocos2d-x 3.0的俄罗斯方块代码》是一个基于Cocos2d-x游戏引擎3.0及以上版本实现的经典游戏项目。Cocos2d-x是一个广泛使用的开源跨平台2D游戏开发框架,它允许开发者用C++、Lua或JavaScript编写游戏,并在iOS、...

    cocos2d 摇杆程序代码

    【cocos2d 摇杆程序代码】是一款在iOS平台上使用Cocos2D游戏引擎开发的虚拟摇杆控制程序。Cocos2D是一个广泛应用于2D游戏开发的开源框架,它提供了丰富的图形渲染、动画、物理模拟等功能,极大地简化了游戏开发过程...

Global site tag (gtag.js) - Google Analytics