今天写一个小游戏的时候 在触发结束的时候 因为在结束方法里调用了
截图 导致了 出现跳帧。
思考了一下。
cocos2d-iphone是使用时序队列的而不是多线程。
那么就意味着 我这个结束方法(stop)执行的时间越长,就会导致在cocos2d的时序队列的下一个刷新帧执行间隔时间变长。从而出现跳帧。
思路:减少stop方法的执行时间。(但是 截图必须在菜单出来前截图。so 必须由stop来启动截图。)
那么这里解决方法是使用[self performSelector:@selector(shotImage) withObject:nil afterDelay:0.2];
从而减少stop方法的执行时间。
-(void)stop{
[self unscheduleAllSelectors];
for(CCSprite* sp in [self children]){
if([sp isKindOfClass:[CCSprite class]]){
[sp stopAllActions];
}
}
if(scroe>[UserDefault highScore]){
[UserDefault setHighScore:scroe];
[self performSelector:@selector(shotImage) withObject:nil afterDelay:0.2];
}else{
menuRestart.visible=YES;
}
// [self performSelector:@selector(resetValue) withObject:nil afterDelay:1];
}
-(void)shotImage{
[CCDirector sharedDirector].nextDeltaTimeZero = YES;
CGSize winSize = [CCDirector sharedDirector].winSize;
CCLayerColor* whitePage = [CCLayerColor layerWithColor:ccc4(255, 255, 255, 0) width:winSize.width height:winSize.height];
whitePage.position = ccp(winSize.width/2, winSize.height/2);
CCRenderTexture* rtx = [CCRenderTexture renderTextureWithWidth:winSize.width height:winSize.height];
[rtx begin];
[whitePage visit];
[[[CCDirector sharedDirector] runningScene] visit];
[rtx end];
UIImage* image=[rtx getUIImage];
[UserDefault setHighImage:image];
menuRestart.visible=YES;
}
相关推荐
"cocos2d-iphone-2.0.tar.gz" 是一个压缩包,包含了Cocos2d-iPhone 2.0版本的所有源代码和相关资源。 Cocos2d-iPhone 2.0是该框架的一个重要版本,引入了许多新特性和改进,旨在提高性能和开发效率。以下是关于这个...
### cocos2d-iphone至cocos2d-html5移植之旅:深入解析与实践指南 #### 引言 在数字化时代,跨平台游戏开发成为了一种趋势,尤其在移动设备和网页端之间的转换变得日益频繁。《cocos2d-iphone至cocos2d-html5移植...
在iOS游戏开发中,Cocos2d-x是一个广泛使用的2D游戏引擎,其Cocos2d-iPhone版本专为Objective-C编程语言设计。本主题主要关注Cocos2d-iPhone中的“动作”(Actions)机制,这是一个强大的工具,用于创建各种动画效果...
《子龙山人兄弟翻译cocos2d-iphone教程》是一个专为初学者设计的游戏开发教程,由知名开发者子龙山人及其团队精心翻译。cocos2d-iphone是一款广泛应用于iOS平台的游戏开发框架,它基于cocos2d,特别为iPhone和iPad...
继续输入cd Cocos2d-iPhone-0.99.5(cd Cocos2d-iPhone-0.99.5为解压的cocos2d文件夹名称)进入cocos2d文件夹中。 4。继续输入./install-templates.sh则打开你文件夹下面的install-templates.sh进行cocos2d的安装。...
"cocos2d-cocos2d-iphone-extensions.zip"这个压缩包包含了cocos2d-iphone的一个特定版本(e42002b)的源代码及其扩展,对于想要深入了解cocos2d-iphone的工作原理、优化游戏性能或者自定义功能的开发者来说,这是一...
### Cocos2d-iPhone开发教程相关知识点 #### 一、Cocos2d-iPhone简介与版权要求 **Cocos2d-iPhone**是一款专为iOS设备设计的2D游戏开发框架,它基于OpenGL ES图形渲染,并且拥有丰富的功能集,能够支持多种游戏...
在Cocos2d-x的家族中,还有其他分支引擎,如Cocos2d-iPhone、Cocos2d-python、Cocos2d-xna等,它们各自支持不同的平台和编程语言,满足不同开发者的需求。例如,Cocos2d-iPhone专注于iOS平台,使用Objective-C或...
2. **精灵与动画**:Cocos2D-iPhone中的精灵(Sprite)用于显示2D图像,可以实现各种动画效果,如帧动画、旋转、缩放、透明度变化等。通过组合和序列化精灵动作,可以创建出丰富的游戏画面。 3. **物理引擎**:...
Cocos2D-iPhone是一个广泛使用的2D游戏开发框架,专为iOS平台设计。这个“知易Cocos2D-iPhone开发教程源代码”提供了一套详细的教程,旨在帮助移动开发新手快速入门游戏开发。通过学习这些源代码,开发者可以深入...
本教程“Cocco2D-iPhone-04.rar”是针对Cocos2D-iPhone游戏开发的第四部分,旨在帮助开发者进一步提升其在iPhone游戏开发领域的技能。 在这个教程中,你可能会学习到以下关键知识点: 1. **Cocos2D基础**:了解...
《知易Cocos2D-iPhone 游戏开发教程001》是一个针对初学者的教育资源,旨在帮助用户掌握Cocos2D-iPhone框架进行游戏开发的基础知识。Cocos2D-iPhone是一款广泛使用的开源游戏引擎,尤其适用于iOS平台上的2D游戏开发...
Cocos2D-iPhone是一款强大的2D游戏开发框架,它为iOS平台提供了丰富的功能和工具,使得开发者可以轻松创建各种游戏和互动应用。本教程旨在引导新手入门,并帮助经验丰富的开发者提升技能。以下是对Cocos2D-iPhone...
这个压缩包中的“cocos2d-iphone-0.99.3”很可能包含了Cocos2D-iPhone的源代码和示例项目,你可以通过这些实例了解如何实际操作和运用框架的各个部分。通过深入学习并实践这些教程,你将能够创建自己的2D游戏或图形...
Cocos2D-iPhone是 一个开源框架,利用它可以非常容易的在iPhone上开发2D游戏。它提供了物理,精灵(sprites),时差卷轴(parallax scrolling),支持iPhone touch和accelerator等很多功能。
压缩包中的cocos2d-iphone-1.1-beta文件夹包含了Cocos2d-iPhone框架的所有源码和资源。这个框架的核心组件包括: 1. **Director**:负责管理场景(Scene)、层(Layer)和时间,是整个游戏循环的调度者。 2. **...
### cocos2d-iphone开发知识点总结 #### 一、引言 - **教程背景与目的**:本教程旨在为初学者提供一个全面且易于理解的cocos2d-iphone开发指南,帮助那些希望通过自身努力获得更好生活的编程爱好者们。作者通过对...
在本教程“知易Cocos2D-iPhone 游戏开发教程006”中,我们将深入探讨Cocos2D-iPhone这一强大的游戏开发框架,它为iOS平台上的2D游戏开发提供了丰富的功能和工具。Cocos2D-iPhone是基于Cocos2D的一个版本,专为iPhone...
《cocos2d-x 3.13.1:深入解析与应用》 cocos2d-x 是一个开源的游戏开发框架,广泛应用于跨平台2D游戏的开发,支持iOS、Android、Windows等操作系统。它的3.13.1版本是一个重要的里程碑,提供了诸多改进和优化,...
《知易Cocos2D-iPhone开发教程》是一份针对初学者的基础且经典的PDF教程,旨在帮助读者快速掌握Cocos2D-iPhone游戏引擎的使用。Cocos2D-iPhone是Cocos2D的一个分支,专门针对iOS平台,用于创建2D游戏、图形界面以及...