Cocos2d-x是一个开源的移动2D游戏框架,MIT许可证下发布的。这是一个C++ Cocos2d-iPhone项目的版本。Cocos2d-X发展的重点是围绕Cocos2d跨平台,Cocos2d-x提供的框架。手机游戏,可以写在C++或者Lua中,使用API是Cocos2d-iPhone完全兼容。Cocos2d-x项目可以很容易地建立和运行在iOS,Android,黑莓Blackberry等操作系统中。Cocos2d-x还支持Windows、Mac和Linux等桌面操作系统,因此,开发者编写的源代码很容
原文地址:http://www.cnblogs.com/yu-chao/p/3697459.html 今天想探索一下cocos2dx的内存管理,我们就先从CCObject开始吧 class CC_DLL CCObject : public CCCopying { public: // object id, CCScriptSupport need public m_uID unsi
原文地址:http://www.cnblogs.com/yu-chao/p/3697459.html 今天想探索一下cocos2dx的内存管理,我们就先从CCObject开始吧 class CC_DLL CCObject : public CCCopying { public: // object id, CCScriptSupport need public m_uID unsi
function tableview()   local origin = CCEGLView:sharedOpenGLView():getVisibleSize();      local TestLayer = CCLayer:create()       local NodeBg=CCNode:create();     NodeBg:setPosition(ccp(10,origin.he
在游戏和应用中经常要实现左右滑动展示游戏帮助、以列表显示内容的UI效果,就像android中的Gallery和ListView。本文通过CCScrollView和CCTableView分别来实现这两个效果,基于cocos2d-x 2.0.4版本。 首先来简单了解一下这两个东东,CCScrollView本身是一个CCLayer,而CCTableView是CCScrollView的子类,这是引擎已经帮
CCTableView和CCScrollView一样用于创建滚动视图,CCTableView的功能也比较多,创建比较麻烦 实例1:使用CCTableView创建滚动视图 首先创建一个TableView类 TableView.h中的代码 #ifndef __TableView_H__ #define __TableView_H__ #include "cocos2d.h" #include "co
调用了autorelease的对象,将会在自动回收池释放的时候被释放一次。 因为这个操作发生在mainLoop drawScene()后,这时候游戏中所有的逻辑已经执行完毕,正是释放无效资源的最佳时机。   所以一个对象被create后, 将被放进pool中,其ref 数为1, 当游戏整个逻辑跑完,如果没有增加retain操作,注意retain有很多地方可以调用,比如addChild 等,那么po
平台如下 cocos2dx-3.2 vs2013 win7 利用cocos(在cocos2d-x-3.2\tools\cocos2d-console\bin里面)工具新建一个工程star,目录结构如图 libAudio,libchipmunk,libcocos2d编译都成功,可是到了自己的工程star,出现以下错误。 貌似不是很难,就是找不到这个文件。指定文件路径就好了。 一、第一种方法就是在项目
文章原文:http://www.voidcn.com/article/p-bgmaabqg-uc.html 作者升级源代码,可以在3.1平台下运行。 我的是vs2013+cocos2dx-3.2. 本来以为按照作者的方法新建工程后可以用,没想到总出现这个【无法打开包括文件: “CCMenuItem.h”: No such file or directory】。 问题其实简单,就是找不到,这个找不到
原文:http://www.zaojiahua.com/android-platform.html        本人这几天一直都没有跟新自己的网站内容,问我干什么去了,当然是做这篇文章做的事了,说起这个移植来真是麻烦啊,网上试验了各种方法,都不知道谁对谁错啊。不过经过本人这三天的研究最后终于成功了,为了让大家少走一些歪路,我决定一定要写下这篇文章,新手们,好好看,不要浪费时间了!现在我就把我遇到
Repeat这个Action的本意是可以方便地对某一个动画执行指定的次数,比如这段代码: scene.index = 0 local delayAction = cc.DelayTime:create(0.5) local callFuncAction1 = cc.CallFunc:create(function() scene.index = scen
Cocos2d-x下Lua调用自定义C++类和函数的最佳实践 // mac下:  sudo easy_install pip sudo easy_install pyyaml sudo pip install cheetah cd ~ touch .bash_profile open .bash_profile            export NDK_ROOT=/..........r9d  
auto scene = WelcomeScene::create(); TransitionScene *transition = TransitionFade::create(1, scene); Director::getInstance()->replaceScene(transition); // CCTransitionJumpZoom // 作用: 创建一个跳动
介绍 Cocos2d-X 3.X 引入了一种新的响应用户事件的机制。 涉及三个基本的方面: Event listeners 封装你的事件处理代码 Event dispatcher 向 listener 分发用户事件 Event 对象 包含关于事件的信息 为了响应事件,首先你要创建一个 EventListener,有五种不同的 EventListener. EventListenerTouch 响应
这是cocos2d-x代码看注释的解释 翻译的 不到之处谅解 后面在总结 getBoundingBox  // 返回一个AABB(axis-aligned bounding-box)在其父母的坐标系统。Returns an AABB (axis-aligned bounding-box) in its parent's coordinate system. getContentSize  //节点
导入头文件: #include "support/tinyxml2/tinyxml2.h"   一:创建xml并保存 //要储存XML文件的路径 std::string filePath = CCFileUtils::sharedFileUtils()->getWritablePath() + "wociao.xml"; //xml文档 XMLDocument *pDoc
内容主要参考 “在quick-cocos2d-x中添加自定义的类给lua使用” ( http://www.codeo4.cn/archives/746) 1. quick-coco2d-x 使用 tolua++ 来简化lua绑定c++类操作,mac下用到了 /usr/local/bin/tolua++ ,可以把bin/mac下的可执行程序复制过去,省得编译安装了。 2. 在 lib/cocos2d
        原本打算直接用CocosIDE的,毕竟是官方出品,而且支持Android远程调试,windows下的调试也很方便,调试的信息也很全,智能提示也不错。好了,一切看上去很完美,但是它有一个致命缺陷,就是继承了eclipse一贯的特性--“卡”。基于java写的eclipse我一直使不惯,一方面是快捷键跟vs迥异,而我又懒得去配置(如果他能像IntelliJ IDEA一样,可以方便的删除
  最近试用了下cocos ide,然后引擎用的cocos2dx js 3 final,需要build runtime一下,下面是cocos studio相关的一些事件:   添加事件侦听: // button var root = ccs.uiReader.widgetFromJsonFile("res/UIButton_Editor/UIButton_Edito
用了一段时间Cocos2d-x之后,经常就会用到碰撞矩形的显示,这边总共找到了两个方法来实现画矩形。 第一种方法: Cocos2d引擎自带可以画出Sprite的BoundingBox 在libcocos2d库下的include文件分类下,找到ccConfig.h修改CCSPRITE_DEBUG_DRAW;0为默认值,也就是不画,1为画出BoundingBox,2为画出纹理信息 修改之后,将重新编译
原文地址:http://www.voidcn.com/article/p-kuhzswsn-wc.html 今天白白跟大家分享一下cocos2dx中定时器的使用方法。 首先,什么是定时器呢?或许你有时候会想让某个函数不断的去执行,或许只是执行一次,获取你想让他每隔几秒执行一次,ok,这些都可以统统交给定时器来解决。 cocos2dx中有三种定时器:schedule,scheduleUpdate,s
原文地址:http://www.voidcn.com/article/p-kuhzswsn-wc.html 今天白白跟大家分享一下cocos2dx中定时器的使用方法。 首先,什么是定时器呢?或许你有时候会想让某个函数不断的去执行,或许只是执行一次,获取你想让他每隔几秒执行一次,ok,这些都可以统统交给定时器来解决。 cocos2dx中有三种定时器:schedule,scheduleUpdate,s
为什么会发生以上问题呢? 我们看看源代码: 看懂了吗? 其实我们传递的是一个函数指针,说明我们传递的函数指针类型不正确。 schedule_selector(Layer::callback) void callback(float dt) { ............... } 这里报错,多半是因为callback函数没有参数或是参数类型不正确导致的。
主体思路 通过JNI获取java虚拟机,再获取当前程序的JNI环境,通过JNI环境获取需要调用的java类信息,再获取需要调用的java类中的函数信息。再通过JNI环境调用,使用类信息、函数信息,调用对应的java函数。 看起来好像有点复杂,but不用担心,cocos2d-x中有一个JniHelper类(头文件的copyright为:cocos2d-x.org,是Google提供的还是cocos2
目前正在和实训的小组成员一起做一款手机2D游戏,我们采用了Cocos2d-x进行开发。之前虽然早有耳闻,这次却是第一次认真地学习和使用Cocos2d-x。最开始的几天就是在不停的看文档和爬坑。其中一个坑就是Cocostudio这货。官网的文档滞后而且不够详细,为了弄清楚,借鉴了很多博客,也阅读了示例代码。 本人Cocos2d-x的版本是3.1,Cocostudio的版本是1.5. Cocostud
在做数据转换时,最好包含以下头文件 #include <iostream> #include <cmath> #include <string>  #include <sstream> USING_NS_CC; using namespace std; 在cocos2d-x中,也有一个格式刷:CCString(数据转换常常找她做中间人),那么我们要转换类型, 可先将起始数据类型刷成CCString
在2014年10月28日的Cocos开发者大会上,触控科技宣布,在Facebook的协助和支持下,触控科技对旗下开源引擎Cocos 2d-x进行了更新,正式启动对Facebook平台的全面支持。今后,Cocos 2d-x的开发者可以更方便地进行Facebook平台功能的接入和整合。而采用Cocos 2d-JS(Cocos引擎JavaScript版本)的开发者,更可以使用同一套代码把游戏无缝发布到i
最近在做媒体播放器,使用了Android自带的MediaPlayer,经常性会碰到MediaPlayer报错的情况,找过网上的,感觉总结的不是很好或者比较散。下面,我来总结一下使用MediaPlayer经常会出现的错误。如果有比较了解的,也可以在下面评论探讨一下。     一、Mediaplayer简介     Mediaplayer可以用来控制音频或者视频文件、流的播放。(MediaPlayer
转自:http://blog.csdn.net/wolfking_2009/article/details/10616069 cocos2d-x里面的二进制文件读取的方法是有的,作者对方法封装了下,将读取的路径设置到了writablePath路径上,这样方便读取自己存储的二进制文件。作者在cocos2d-x中没有找到二进制文件输出的方法,于是自己写了一个。下面就是两个方法的源码实现: 二进制文件的
手游市场的爆发式增长令人瞠目结舌——以《刀塔传奇》《捕鱼达人2》《我叫MT》为首的十余款游戏纷纷爆出累计流水超十亿元人民币的历史新高,这几款国民级手游背后都是由被称为“千万级手游摇篮”的Cocos2d-x引擎在背后支撑。 作为Cocos2d-x引擎的配套工具,Cocos Studio秉承“提升行业效率,降低行业成本”使命。经过不断的升级完善,Cocos Studio目前已经吸引全球近30万开发者使
动画在游戏中是非常常见的 程序1:创建一个简单的动画 首先需要在工程目录下的Resource文件夹中放一张有各种不同动作的图片 在程序中添加下面的代码 #include "Animation.h" CCScene* Animation::scene() { CCScene* s = CCScene::create(); Animation* layer = Animation: