cocos2d-x CCArray】的更多相关文章

CCArray* arr=CCArray::create(); arr->retain();//如果不加这个东西,CCArray会被清空 arr->addObject(CCSprite::create("s_1.png")); arr->addObject(CCSprite::create("s_2.png")); arr->addObject(CCSprite::create("s_3.png")); arr->a…
1.概述 cocos2d::Valie 是一个包含了很多原生类型(int,float,double,bool,unsigned char,char* 和 std::string)外加 std::vector<Value>, std::unordered_map<std::string,Value> 和 std::unordered_map<int,Value> 的类. 你可以把所有上面的提及的原生类型放入 cocos2d::Value 对象中,然后将它们转化为对应的原生…
C++中的vector使用范例 一.概述 vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector是一个容器,它能够存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,可以动态改变大小. 例如: // c语言风格 int myHouse[100] ; // 采用vector vector<int> vecMyHouse(100); 当如上定义后,vecMyHouse就可以存放100个int型的数据了. 1.…
首先,进入官网下载cocos2d-x:http://www.cocos.com/download/,当然你需要注册一个账号才可以下载. 接下来需要跟着官网的配置文档配置一下开发环境,不得不说,Cocos的官方文档非常强大,赞一个! 全新的Cocos2d-x 3.0 回归C++风格 在2.x的时代,Cocos2d-x团队是完全使用Cocos2d-iPhone的Objective-C代码风格,诸如类名的“CC”前缀(比如“CCNode”.“CCSprite”等)和单例的“sharedXXX()”命名…
CCScrollView在Cocos2d-X引擎中主要使用在图片尺寸远大于屏幕尺寸的时候使用. 总体来说,使用起来比较简单. 一个是CCScrollView控件本身,一个是CCScrollViewDelegate代理. #1.现在我们先来看CCScrollView的主要方法: */ //滑动方向 typedef enum { kCCScrollViewDirectionNone = -1, kCCScrollViewDirectionHorizontal = 0, kCCScrollViewDi…
1.//有两种集合 //第一种是array 特点:插入,删除效率低,可是查找效率高 //另外一种是list  特点:插入,删除效率高,可是查找效率低 //分析这个游戏: 插入的时候:怪物,射弹出现时,删除的时候:碰撞时,怪物.射弹出界时. //遍历:fps(每秒中填充图像的帧数(帧/秒)相应的时间,怪物是2秒出现一次,而遍历是60次每秒,可见遍历用的较多,所以我们选择array. CCArray*_targets;//定义怪物集合,3.0一般用vector定义集合 CCArray*_projs;…
 数据本地化 A CCUserDefault 系统会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.win32\Debug.win32下生成一个名为UserDefault.xml.全部的key皆为char *型.value类型为bool intfloat double std::string. 读操作 bool getBoolForKey(const char* pKey); bool getBoolForKey(const char* pKey, bool…
本将主要介绍下CCNode这个类.CCNode是全部节点的基类,当中包含我们经常使用的CCScene(场景).CCLayer(图层).CCSprite(精灵)等.它是一个不可以可视化显示的抽象类,仅仅是用来定义全部节点的公共属性和方法的.本讲纯粹是理论. 首先来看看CCNode的继承结构图,仅仅列举了经常使用的类 节点的处理 1.创建一个新的节点 [java] view plaincopy CCNode *node = [CCNode node]; 2.加入子节点 [java] view pla…
本文实践自 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 .在这篇文章,将会学习到怎样创建一个简单的熊行走动画,怎样使用精灵表单,怎样改变熊行走的方向等等. 教程截图: 让我们首先…
ios游戏引擎之Cocos2d(一) cocos2d是一个免费开源的ios游戏开发引擎,并且完全采用object-c进行编写,这对于已经用惯object-c进行ios应用开发的童鞋来说非常容易上手.这些也是我推荐使用cocos2d进行ios游戏开发的原因,当然从字面上已经可以开出来,这是一款专注于"2d"游戏的开发引擎,您也可以自己编写3d渲染代码或者使用第三方的解决方案,在cocos2d里加载显示3d模型.此外对于3d,也可以选用cocos3d来进行游戏开发.好了,废话不多说,还是先…
Cocos2d—X游戏开发之CCToggle(菜单标签切换) 首先继承子CCMenu,是菜单标签中的一种.‘ class CC_DLL CCMenuItemToggle : public CCMenuItem { /** returns the selected item */ CC_PROPERTY(unsigned int, m_uSelectedIndex, SelectedIndex); /** CCMutableArray that contains the subitems. You…
塔防游戏,类似于保卫萝卜的一种. 需要注意的是几点问题是: 游戏地图是瓦片地图,设置特定的标记,用来标记哪些点是地图点,哪些是塔点. 游戏关卡选择:需要在两个cpp文件传参,用的是静态成员变量. 每一关的不同点是地图的不一样,根据关卡使用不同地图,无需写重复的game1.cpp,game2.cpp. 每个塔对于在它范围内的物体进行攻击,一个双重循环. 展示一下效果吧: 公司Logo: #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCEN…
http://www.xuanyusong.com/archives/950 上一章我们了解了cocos2d的项目路径以及工作原理,这次作者要真刀真枪地讲解代码了,咱们先来看看cocos2d最常用.也是作者认为最核心的类——CCNode. 之前说过,cocos2d的所有类都以CC开头,那么实际上这个类的名字就是Node,类如其名,这个类的实例就是一个节点.Cocos2d的类是树状继承的,而在内存中,各个实例之间也是以“树”这种数据结构相关联的.,可见树在cocos2d中的重要性,难怪某位伟人说“…
版本号:v3.0 beta以后 语言:C++ 定义在 "COCOS2DX_ROOT/cocos/base" 路径下的 "CCVector.h" 的头文件里. template<class T>class CC_DLL Vector; cocos2d::Vector<T> 是一个封装了动态大小的数组的顺序型容器.它的元素是连续存储的,cocos2d::Vector<T> 的存储是自己主动处理的. 其内部的数据结构实现实际上是STL标…
好奇 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在这方面经过了优化,具有更快的处理能…
cocos2d-x中CCArray的遍历,需要几个宏.现代C++程序设计建议尽量不要使用宏,所以数组的遍历也可以自己写. 但cocos2d-x官方已经提供了几个方便数组遍历的几个宏,用好了,能方便许多 .下面就介绍一下第一个宏 1   CCARRAY_FOREACH ,此宏的定义如下 #define CCARRAY_FOREACH(__array__, __object__) \ ) \ ; \ __arr__ <= __end__ && (((__object__) = *__ar…
cocos2d-x 自己实现了一个数组CCArray ,下面我们来分析一下CCArray的源码 CCArray继承CCObject,所以,CCArray也具有引用计数功能和内存自动管理功能. 数组的源码如下: class CC_DLL CCArray : public CCObject { public: /************************************************************************/ /* 构造析构函数 */ /*******…