[Cocos2d-x]CCSpriteBatchNode的使用】的更多相关文章

免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播.同时,转载时不要移除本申明.如产生任何纠纷,均与本博客所有人.发表该翻译稿之人无任何关系.谢谢合作! 前言:这篇文章是我翻译的第一篇关于cocos2d的文章,我在翻译的时候尽量按原文意思来,但难免会加入自己一些理解进去.还有这篇文章所采用的xcode版本是3.2.5,用xcode4.0的朋友可能实现起来有点出入,我会在文章的最后给出解决办法. 文章原来出处:http://www.raywende…
如何优化内存使用 内存优化原理 为优化应用内存使用,开发人员首先应该知道什么最耗应用内存,答案就是纹理! 纹理几乎会占据90%应用内存.所以尽量最小化应用的纹理内存使用,否则应用很有可能会因为低内存而崩溃. 本文介绍Cocos2d-x游戏通用的两条内存优化原理指导. 认识瓶颈寻找方案 什么样的纹理最耗应用内存?或这些纹理会消耗多少内存?当然这个不用手动计算,只需猜测. 工具在这里已经准备好了.使用的是苹果的工具“Allocation & Leaks”.你可以在Xcode中长按“Run”命令,选择…
1.第一步:使用Zwoptex 制作精灵表单 2.制作的表单的名称为 cocos2Dpng,cocos2D.plist: 3.精灵的动画效果 主要分为五部分. // on "init" you need to initialize your instance -(id) init { // always call "super" init // Apple recommends to re-assign "self" with the "…
文档: http://cocos2d.cocoachina.com/document/index/class?url=dd/d95/classcocos2d_1_1_c_c_sprite_batch_node.html 简单描述: 使用CCSpriteBatchNode可以提供程序的效率.因为它使用同一个纹理渲染多个精灵,在Open GL调用draw方法时,只需一次渲染就可以完成一批精灵的渲染. 使用场景: 当同一层需要很多相同纹理创建一堆精灵时,考虑使用CCSpriteBatchNode,从而…
本文实践自 Ray Wenderlich.Tony Dahbura 的文章<How to Use Animations and Sprite Sheets in Cocos2D 2.X>,原文链接http://www.raywenderlich.com/32045/how-to-use-animations-and-sprite-sheets-in-cocos2d-2-x .在这篇文章,将会学习到怎样创建一个简单的熊行走动画,怎样使用精灵表单,怎样改变熊行走的方向等等. 教程截图: 让我们首先…
创建精灵表单: 创建动画先要把图片整合到一个图片上然后生成plist文件: 方法下载Zwoptex软件:http://www.zwopple.com/zwoptex/ 然后打开选择 create new document 1把连续动画单独图片拖到窗口空白处: 2.现在图片是叠放在一起的 点击layout按钮 3. 修改图片大小  (默认很大,要修改成合适大小) 4.修改目录 点击工具栏的publish->publish Setting 把Texture File Path 和Coordinate…
该对象只能包含基于CCSprite的对象,并且该要求适用于一切子孙对象.即加入CCSpriteBatchNode的任何对象都必须是CCSprite或其子类. 比如CCSpriteBatchNode包含Fire对象,而Fire对象继承于CCSprite类;如果Fire有子对象,则要求他们也必须继承于CCSprite,依次类推. 不过貌似最新的Cocos2D中该类用的地方越来越少了,而且在SpriteKit中,所有这些都是由系统帮你搞定的,你不需要在操心在视图上显示大量精灵时需要考虑类似的情况了.…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 现在打开MainScene.m文件,首先设置实例变量: @implementation MainScene{ CGSize _viewSize; CatSprite *_cat; CCTiledMap *_tileMap; CCTiledMapLayer *_bgLayer; CCTiledMapLayer *_objectLayer; //在cocos2Dv3…
在cocos2d中,精灵帧缓存CCSpriteFrameCache是用来存储精灵帧的.它没有特别的属性,只存储了一些用来管理CCSpriteFrame的方法. 以一个例子来说明,一般在又纹理图集的程序中,我们使用如下语句添加多个精灵帧,来构成精灵帧缓存: CCSpriteFrameCache* frameCache = [CCSpriteFrameCache  sharedSpriteFrameCache]; [frameCache addSpriteFramesWithFile:@"game-…
学习cocos2d-x中的菜单主要须要了解:菜单(CCMenu)和菜单项(CCMenuItem)以及CCMenuItem的详细子类. a. 以下来学习一下相关的类. 1. CCMenu 菜单,是CCLayer的子类,是一个层(容器),能够往里面加入菜单项.以下是它的类结构图:   CCMenu默认接受触屏事件的优先级是-128(优先级非常高,由于值越小,响应触屏事件的优先级越高),能够通过继承它实现自己定义的效果,创建CCMenu对象的函数: static CCMenu* menuWithIte…
好奇 cocos2d 到底是怎样一个框架,正好有个项目需要一个游戏框架,所以稍微了解了一下.小结一下了解到的情况. 基本概念 首先呢,因为 cocos2d 是基于 pyglet 做的,你完全可以直接用 pyglet 达到你想要的效果.但是,没必要重复造轮子. cocos2d 的基本概念包括了 director.scene.layer.框架的作者认为,写游戏和排练电影动画片差不多.director 呢就是导演的意思,scene 就是场景,layer 就是层次.对此,我们可以简单理解为,一个游戏有且…
require "Cocos2d"require "Cocos2dConstants"local testscene = class("testscene",function()        return cc.Scene:create()end)function testscene:create()local  scene = testscene.new()    return sceneend--默认函数function testscene…
很久没有写博客了,这段时间比较忙,又是搬家又是做自己的项目,还有太多琐碎的事情缠身,好不容易抽出时间把最近自己做的一些简单例子记录一下. 在我的项目中,我需要一个显示面板来显示游戏中的一个三维数据,例如,力量,速度,耐力,来直观的显示出物体的特征,让玩家能够一眼看出区别 首先我们需要准备一下素材 显示面板的背景"Panel.png",比如:尽量能够以三角形为背景 1- 新建一个继承自CCSprite的类,命名为CCPanel 2- 在头文件中添加 @interface ZOPanel…
转CSDN jilongliang : 首先,对于一个完全没有mac开发经验,甚至从没摸过苹果系统的开发人员来说,首先就是要熟悉apple的那一套开发框架(含开发环境IDE.开发框架uikit,还有开发语言objective-c).对于有一定编程经验的人来说,学习objective-c可能1-2周时间就够了,但是,要真正用好这门语言,并且最大限度地利用这门语言来提高开发效率的话,那就需要时日了.这里推荐两本书<objective-c基础教程>和<iphone开发基础教程>,这两本都…
视频 - http://www.manew.com/forum-105-3.html一个论坛帖 - http://www.zhihu.com/question/21114802官网 - http://www.cocos.com/doc/tutorial/index?level=0&type=cocos2d-x&per_page=104 一个大神开发例子 -   http://angelowon.lofter.com/post/1e18fc_65d7c3 Sprite Kit与Cocos2d…
最近在搭建Cocos2d的环境,结果各种问题,两人弄了一天才能搞好一个环境-! -_-!! 避免大家也可能会遇到我这种情况,所以写一个随笔,让大家也了解下如何搭建吧- 1.环境安装准备 下载 tadp-xxxx-windows.exe,下载地址:https://developer.nvidia.com/tegra-android-development-pack 表扬一下nvidia公司的雷锋做法,这个安装包集成了所有工具,这样就不需要我们再一个个去下载安装了,一键安装,全部搞定!注意安装的时候…
老师手把手教了两天半,看了一下模式,加了几个功能就大功告成了!!! 给我的感想就是全都是指针! 添加图片精灵: CCSprite*  spBG = CCSprite::create(""); this->addChild(spBG); //添加到当前层 spGB->setPosition(ccp(x,y)); //设置坐标 spGB->setScale(0.5); //缩放 文字按钮: CCMenuItemFont* pItem = CCMenuItemFont::c…
// // TestLayer.h // MiniTD // // Created by OnePiece on 12-7-30. // Copyright 2012年 __MyCompanyName__. All rights reserved. // #import <Foundation/Foundation.h> #import "cocos2d.h" #import "CCCrack.h" @interface TestLayer : CCNo…
在我完成第一个游戏项目的时候,我深切地意识到"使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰".而我刚开始接触cocos2d的时候,社区里面的人们讨论了一个非常有意义的话题:"请简单地讲述你认为新手cocos2d程序员在他开始编码之前,最应该先知道,或者应该关注和注意的事项."这个问题的答案很多,有人讲是"如何加载和保存游戏数据",有人讲的是"如何实现有限状态机"等等.而最吸引我的则是,有一…
Atitit 游戏的通常流程 attilax 总结 基于cocos2d api 加载音效1 加载页面1 添加精灵1 设置随机位置2 移动2 垃圾gc2 点击evt2 爆炸效果3 定时生成精灵3 加载音效 //load resources cc.audioEngine.playMusic(res.bgMusicSynth_mp3,true); 加载页面 var PlayLayer={   //main layer,,one scence must hav a scence PlayLayer.ct…
cocos2d是使用pyglet事件框架来处理事件的. 其中,包括分发器(发射器)和监听器两部分.下面形象的来打个比方. 这个机制就好比一把枪,三步:扣扳机(触发),上弹(注册),给子弹上***(这个装逼一点叫监听,实际上就是定义一个函数). 1.我们首先想到的使用枪就是扣扳机,而这就是cocos2d的事件触发,说明白点就是去调用某一个事件(函数). :self.dispatch_event('XXX') 2.我们光有扳机还不行,我们还得说明在扣完扳机之后要做什么?当然是发射子弹了,但是程序还不…
根据http://www.merowing.info/2012/04/drawing-smooth-lines-with-cocos2d-ios-inspired-by-paper/ 用cocos2d画线时出现闪烁问题 原有的画线部分放在CCLayer的draw函数里面 -(void)draw { [renderTexture begin]; 画线部分 [renderTexture end]; } 由于draw每帧时都执行,故draw频繁调用, 出现闪烁,解决方法是利用update, [self…
doxygen工具 生成cocos2d的api文档 位图字体编辑工具 Glyph Designer http://www.71squared.com/glyphdesigner  收费的 CCLableTTF 使用系统字体 //CCLabelTTF *label = [CCLabelTTF labelWithString:@"Hello World" fontName:@"Marker Felt" fontSize:64]; 特点:渲染耗内存: CCLabelAtl…
游戏的在进行一次渲染的时候,通常会提交大量的渲染对象给gpu.在这些需要渲染的对象中,并不是所有对象都会出现镜头中,即有一部分对象是不可见的. 通常有两种方式来完成不可见对象的剔除工作: (1)直接交给图形库帮我剔除,即性能消耗在gpu端: (2)在提交图元给gpu前,在游戏逻辑中进行剔除,即性能消耗在cpu端: 是将剔除操作放在cpu还是gpu来处理,没有一个具体的标准,个人认为,要根据实际情况,如果逻辑方面可以快速进行剔除,可以交由cpu来处理,但是gpu在这方面经过了优化,具有更快的处理能…
前言:从上周发布教程的微博反应情况来看,cocos2der们对于游戏的内存问题还是非常关心的.本文是上一篇博文的续,旨在教大家如何减少cocos2d程序的大小. 全文如下: 减少你的程序的大小 把纹理的颜色位深度减少到16位,不仅可以减少内存压力,还可以有效地减少程序的体积.但是,我们还有其它方法可以更进一步地减少程序的大小. TexturePacker PNG 图片优化 如果你有某些原因,让你坚持要使用PNG文件格式而不是我之前极力向你推荐的pvr.ccz文件格式,那么TexturePacke…
译者: 在我完成第一个游戏项目的时候,我深切地意识到“使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰”.而我刚开始接触cocos2d的时候,社区里面的人们讨论了一个非常有意义的话题:“请简单地讲述你认为新手cocos2d程序员在他开始编码之前,最应该先知道,或者应该关注和注意的事项.”这个问题的答案很多,有人讲是“如何加载和保存游戏数据”,有人讲的是“如何实现有限状态机”等等.而最吸引我的则是,有一个人讲到,新手cocos2d程序员或者新手cocoa程序,他们…
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute…
本章直接上源代码.内容不难,主要就是 HelloWorldScene.h文件: #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" class HelloWorld : public cocos2d::Layer { protected: float _angle; cocos2d::Vec2 _vec; public: static cocos2d::Scene* cre…
其实,三角函数的知识点是初中的数学基础.但是在编程里合理的利用的话,也会很好玩的,可以制作出很多有趣的动画特效. 首先要注意的是 角度 和 弧度 的转换. 360度 = 2×PI弧度 180度 =   PI弧度 所以30度的正弦函数 = sin(30/180×PI) 但是在cocos2d游戏引擎提供的sin(参数值)这里的参数值范围是在[0,1]之间. 利用三角函数的波形来控制小球的运动 关键代码: 头文件: protected: float _angle; cpp实现文件: _angle =…
Cocos2d vision:  cocos2d-x-3.8.1 万丈高楼,起于累土.对于一个游戏框架的学习,其实在于框架功能的使用积累,学会了如何在cocos2d游戏引擎的基础上使用它提供的各种功能,并灵活运用, 以及学会查阅Cocos2d官方提供的API文档.相信自己也能开发出自己喜爱或者让别人羡慕的游戏. 目录: 1>认识origin和visibleSize以及cocos2d的基础绘画类DrawNode的简单实用 2>认识 CCLOG() 3>有关schedule的使用 4>…