COCOS2D - 技术教程文章

cocos2d-x 3.4版本,新建项目黑屏

windows7下,新建的cocos2d-lua项目,基于3.4版本的,在visual studio里跑起来黑屏主要是因为搜索路径导致的解决方案如下:SimulatorWin.cpp的 347行 FileUtils::getInstance()->addSearchPath(getApplicationPath().c_str()); 在这行后边追加FileUtils::getInstance()->addSearchPath(_project.getProjectDir().c_str()); 即可原文:http://www.cnblogs.com/wanghe/p/4688766.html

Cocos2d-x 点击菜单按键居中放大【代码】【图】

配置环境:win7+Cocos2d-x.2.0.3+VS2012 目标实现一个按键效果,按下去之前显示normal.png的图,按下去之后显示selected.png的图。selected.png尺寸大于normal.png。按键按下去之后呈现一种放大的效果,如果你无法想象,下载个AngryBirds观察下吧。 思路笔者在这个问题上纠结了一天半,尝试了各种方法,一直以为是自己写得不对导致点击菜单不能居中放大,最后查看源码才发现原来菜单类的对象默认锚点并不是中点,而是原点(0,0)。...

cocos2d-x 3.3 之卡牌设计 NO.4 定时器的使用(清理内存)

我的卡牌游戏卡牌有两个类,分别是OpenCard和CardSprite。不知道分成两个是不是有些奇怪,我分开的原因是:一个卡牌用来当手牌,一个用来当场上的牌,这样说是不是更加奇怪了。。玩家类里定义了两个容器,分别存放两种卡牌类:Vector<CardSprite *> cardSprite;//卡牌精灵容器 Vector<OpenCard *> openSprites;//翻转卡牌精灵容器 游戏开始: 1.调用函数player_1->player_deal_cards()给玩家一发牌,现在看看函数:void Player::...

升级到cocos2d-x 2.0.2代码差异【代码】【图】

来自:http://www.cnblogs.com/TopWin/archive/2012/09/12/2682042.html近期看cocos2d-x 2.0.2公布后升级了一下。升级后发现又出现了非常多错误,原来有一些地方的代码使用方法改变了。在改动代码的过程中。简单做了一些记录,当做是一个备忘录。 1、CCScene和CCLayer的初始化统一用create()函数进行创建。//升级前代码 CCScene *scene=NULL; do {scene=CCScene::node();CC_BREAK_IF(!scene);GameScene *layer=GameScene:: node();...

Cocos2d-x如何添加新场景及切换新场景(包括场景特效)【代码】

做了一天多的工作终于把此功能搞定了,实际上添加新场景花费不了多少时间,时间主要花在切换到另一个场景的实现上,主要原因是编译时出现了一个错误,百思不得其解,后来经过查资料不断摸索才知道自己问题的所在,改正了错误编译通过,实现了我想要的结果,看着那个场景切换的自由和切换过程中各种特效的绚丽,看在眼里,乐在心里。下面开始我的探索之路:首先新建一个场景,其实你可以参考HelloWorld场景建立自己的场景,当然你在...

cocos2dxlua sprite【代码】

require "Cocos2d" require "Cocos2dConstants"local TestScene = class("TestScene",function()return cc.Scene:create() end)function TestScene.create()local scene = TestScene.new()local sp=cc.Sprite:create("dog.png")sp:setPosition(100,100)scene:addChild(sp)return scene endreturn TestScene 原文:http://www.cnblogs.com/yufenghou/p/4304465.html

x86 Android游戏开发专题篇之使用google breakpad捕捉c++崩溃(以cocos2dx为例)【图】

最近一直都在x86设备上进行游戏开发,就c++层和Android java层倒没有什么要特别注意的(除了需要注意一下修改Application.mk指定平台外),在c++崩溃的时候,很多时候看不到堆栈,只能看到一个信号,所以由于工作需要,使用google breakpad来进行异常捕捉。谷歌被墙很麻烦,索性就把breakpad打包放这里供需要的童鞋下载,google breakpad下载。1.下载google breakpad下载地址是 http://code.google.com/p/google-breakpad/source/...

实例介绍Cocos2d-x物理引擎:HelloPhysicsWorld【图】

我们通过一个实例介绍一下,在Cocos2d-x 3.x中使用物理引擎的开发过程,熟悉这些API的使用。这个实例的运行后的场景,当场景启动后,玩家可以触摸点击屏幕,每次触摸时候,就会在触摸点生成一个新的精灵,精灵的运行是自由落体运动。HelloPhysicsWorld实例使用物理引擎的一般步骤,如下图所示。这个过程与上帝创建世界的过程类似,上帝首先创建了世界,然后为世界指定了边界,否则万物就会掉到世界之外的混沌里去了,最后上帝创建了...

cocos2d-x 通过JNI实现c/c++和Android的java层函数交互【图】

1.JNI JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。JNI实现流程:2.C++与java交互流程图: 注:对于跨平台的 cocos2d-x 来说,除非必要,否则可不必深究其理,比如想要...

COCOS2D-X之CPP调用Android函数Demo

希望这篇文章能够给大家带来帮助废话少说直接在COCOS2D-X自带的HelloCpp中添加代码如下:#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)#include <jni.h>#include "jni/JniHelper.h" #endifbool HelloWorld::init() {CCLayer::init(); #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)const char* pStr = "Cpp Call Java Function!!!";JniMethodInfo MethodInfo;bool BExist = JniHelper::getStaticMethodInfo(MethodInfo,"mm/n...

cocos2d-x图层相关 锚点【图】

CCLayerColor* ccc = CCLayerColor::create(ccc4(255,0,0,255)); ccc->setContentSize(CCSize(200,200)); CCLog("anchor<<%f<<%f",ccc->getAnchorPoint().x,ccc->getAnchorPoint().y); ccc->ignoreAnchorPointForPosition(false);//设置false后有效 ccc->setPosition(ccp(getContentSize().width/2,getContentSize().height/2)); this->addChild(ccc); CCSprite* sp = CCSprite::create("CloseNormal.png"); sp->setPosition(ccp(1...

Cocos2d-x 3.x 图形学渲染系列二十二【图】

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社等。环境映射是一种用来模拟光滑表面对周围环境的反射技术,常见的如镜子、光亮漆面的金属等等。这种技术的实现主要通过将一张带有周围环境的贴图附在所需要表现的多边形表面来实现的。目前在实时3D游戏画面渲染中经常使...

cocos2d-js V3.0 V3.1使用DragonBones【代码】【图】

DragonBones是Adobe支持的一个开源项目,用于制作和播放骨骼动画,官网地址是:http://dragonbones.effecthub.com/。DragonBones首先在Flash和Starling引擎上使用,后续继续推广支持多个游戏引擎,现在已经能很好的支持HTML5和cocos2d-x。DragonBones提供了Flash的插件,用于生成骨骼动画文件,称为DragonBonesDesignPanel,结合Flash和DragonBonesDesignPanel可以很方便的完成骨骼动画制作。相对而言,DragonBones在制作上比Cocos...

Cocos2d-x教程(31)-TableView的滚动条【图】

欢迎加入Cocos2d-x 交流群:193411763转载时请注明原文出处 :http://blog.csdn.net/u012945598/article/details/38587659在很多游戏中,我们会看到类似下图的功能:在上图中,当我们滑动TableView时,下方的滚动条也会跟着滑动,当TableView滑动到两端时,滚动条将会横向缩小,随着TableView回弹滚动条也会回弹,下面我们将实现这个滚动条的功能。首先,在项目中创建一个TableView,并实现其协议中的方法。其中我们需要用到的是vir...

火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第二十一节:地表漫游与寻路【图】

《使用Cocos2d-x 开发3D游戏》系列在线课程 第二十一节:地表漫游与寻路 视频地址:http://edu.csdn.net/course/detail/1330/20822?auto_start=1 交流论坛:http://www.firestonegames.com/bbs/forum.php 工程下载地址:请成为正式学员获取工程 课程截图: ??版权声明:本文为博主原创文章,未经博主允许不得转载。原文:http://blog.csdn.net/honghaier/article/details/48976183

[cocos2dx笔记014]一个用于cocos2dx的对象智能指针模板

现在C++智能指针有无数个实现了,多一个也无所谓。哈。 这个智能指针是专门为cocos2dx 2.2.x定制的。主要是为了方便使用,同时又要遵循现有的cocos2dx的内存管理。特实现这样一个智能指针。在使用的时候不需要考虑retain或release操作,也不需要new或delete操作!下面是实现代码//在很多时候,类的成员是CCObject的子对象,为了保证对其正常使用,又要遵循cocos2dx的内存管理,特实现了这样的一个智能指针,方便使用。 #ifndef _X_...

6、Cocos2dx 3.0游戏开发的基本概念找个小三场比赛【图】

重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27689713郝萌主友情提示:人是习惯的产物,当你习惯快乐时。记忆里的不愉快就消失了。游戏開始之前经过之前的学习,我们已经能够开发一个最主要的 Cocos2d-x 游戏了,这个游戏包含一张背景图片和一个退出游戏的按 钮,可是这距离完毕一个完整、有用的游戏还非常遥远。在这一章节中,我们将首先抛开Cocos2d,介绍游戏开发的基本概...

Cocos2d-x 3.x游戏开发之旅 笔记

#include "HelloWorldScene.h"#include "SimpleAudioEngine.h"#include "MyHelloWorldScene.h"USING_NS_CC;Scene* HelloWorld::createScene(){ // ‘scene‘ is an autorelease object auto scene = Scene::create(); // ‘layer‘ is an autorelease object auto layer = HelloWorld::create(); // add layer as a child to scene scene->addChild(layer); // return the scene return scene;}void HelloWorld::backHome() { Size...

cocos2dx --- 在游戏中显示HTML页面

前文介绍了简单的富文本组件RichText,现在我们来了解下由freeType库做出来的第三方组件,可以直接显示html页面,并且能够实现超链接,和触摸事情。步骤:1、在github中 下载 ,地址再贴下: https://github.com/happykevins/cocos2dx-ext , 下载这个项目,github的下载方式自行百度。2、将下载的文件中的extensions 目录下面的cells、dfont、RichControls 这三个文件夹和 renren-ext.h 头文件拷贝进cocos2dx2.2.3的同名目录e...

cocos2d-x 3.1.1 学习笔记[17] 关于函数的那些勾当

对于cocos2d-x经常要用到的方法,不得不好好研究一下,这次的研究真心有收获。 首先定义一个精灵,实现一连串连续的动作。为了动作能够回调我们的函数,我们必须先声明并实现他们。 void callBack();void callBack_1(Node* node);void callBack_2(Node* node,const char* str);void Nice::callBack(){log("Nice::callBack()");}void Nice::callBack_1(Node* node){log("This tag is %d",node->getTag());}void Nice::callBack_...

Cocos2d-x 3.x 图形学渲染系列二十五

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社等。CSDN视频网址:http://edu.csdn.net/lecturer/144大年三十,还是忍不住,再写一篇文章吧,作为在猴年的最后一篇文章。。。。游戏中的角色包括玩家、NPC、怪物等都具有骨骼动画,对于成熟的引擎也是需要支持骨骼动画的...

cocos2d-X学习之主要类介绍:精灵角色(CCSprite)【图】

CCSprite是一副2D图像,CCSprite可以通过图像或者图像中的一个矩形子区域创建 如果它的父节点或者任意继承树上的节点是CCspriteBatchNode则具有下述特性:父节点是CCSpriteBatchNode时具有的特性: 更快的渲染速度,特别时CCSpriteBatchNode有很多子节点的情况下,但有以下限制:A、不支持照相功能(例如:CCOrbitCamera动作不能执行)B、不支持基于网格的动作(例如:CCLens,CCRipple,CCTwirl)C、Alias / Antialias属性属于CC...

cocos2dx游戏开发学习笔记3-lua面向对象分析

在lua中,能够通过元表来实现类、对象、继承等。与元表相关的方法有setmetatable()、__index、getmetatable()、__newindex。详细什么是元表在这里就不细说了,网上非常多介绍,这里主要讲与cocos2dx相关联的部分。在lua-binding库中extern.lua里,有例如以下方法:--Create an class. function class(classname, super)local superType = type(super)local clsif superType ~= "function" and superType ~= "table" thensuperType ...

【cocos2d-js官方文档】七、CCFileUtils

Web引擎CCFileUtils.js在Web引擎中已经被删除了,原因是FileUtils在原生平台中的文件检索功能在Web端是无法实现的。二进制文件获取的方法被转移到了cc.loader.loadBinary(异步)以及cc.loader.loadBinarySync(同步)中。 其中,cc.loader.loadBinarySync方法是极其不推荐使用的,可能在今后版本升级改造中会被废弃掉。希望开发者别滥用。所有资源加载、获取、释放等操作都统一到cc.loader中了。对于路径字符串拼接操作统一到cc.p...

cocos2d中锚点概念【图】

这两天看了下锚点的概念。 /** * Sets the anchor point in percent. * * anchorPoint is the point around which all transformations and positioning manipulations take place. * It‘s like a pin in the node where it is "attached" to its parent. * The anchorPoint is normalized, like a percentage. (0,0) means the bottom-left corner and (1,1) means the top-right corner. * But you...

【Cocos2d-x 3.0】游戏开发之win32配置环境搭建project【图】

作者:Senlern转载请注明,原文链接:http://blog.csdn.net/zhang429350061/article/details/37958275非常久没有写教程了。如今认为还是要继续坚持下去。把自己之前的一些积累写出来,和大家交流一下我也是个菜鸟,不对的地方还希望大家多多指正。共同学习。------------------------------------------首先我们来看一下环境要求-----------------------------------------Build Requirements ------------------ * Mac OS X 10.7+...

实习小白::(转) Cocos2d-x 3.0 开发(十二)在CocoStudio中使用粒子挂载与曲线动画【图】

1、概述 最新版本的CocoStudio在修复之前Bug的同时,加入了新功能,粒子挂载和曲线动画就是其中的亮点。下面我们就动手做个例子,先上图: 2、粒子挂载 运行CocoStudio中的AnimationEditor,来编辑动画,我就用之前的那个UI做的小人啦。 在CocoStudio 1.1 中可以隐藏骨骼(Alt+G) 在不需要骨骼显示的时候,关闭骨骼显示清爽了好多。接下来开始动手挂载粒子。 我们要将找到粒子效果的plist加入到资源目录中...

cocos2d移植到安卓引入第三方so文件时候编译会删除解决方案【图】

在游戏中对接支付的SDK的时候引入支付的so文件的时候在编译的时候总是被删除,后来经过查找资料自己整理出了一个解决方案方案如下在项目导入安卓中之后,在对应的jni文件夹中创建一个prebuilt的文件夹,把要导入的so文件全部复制进去然后写一个bat批处理的文件文件内容为:xcopy /x /s /c /r G:\SVN\Kimbio\proj.android\jni\prebuilt\*.so G:\SVN\Kimbio\proj.android\libs\armeabi\具体的路径根据自己的实际路径来写然后在Projec...

quick cocos2dx 播放序列帧动画的实现【代码】【图】

本帖基于quick cocos2dx2.2.6版本。序列帧动画:顾名思义就是在一定的时间内播放多张图片。基本原理非常简单,在一个固定的位置1秒时间内轮询播放有限数量的不同图片。比如1秒中播放24张图(FPS=24)在quick引擎中可以通过framwork中的transition.lua文件中得transition.playAnimationForever(target, animation, delay)接口来实现动画的播放,其源码如下:function transition.playAnimationForever(target, animation, delay)loc...

cocos2d-x在win7下的android交叉编译环境【图】

cocos2d-x在win7下的android交叉编译环境2014年4月14日 cocos2d-x环境配置前面把Visual Studio+Python开发环境配好了,但还没有讲如何在Android中使用创建好的项目,本篇博客介绍如何在win7下进行Android与cocos2d-x的交叉编译,我的电脑是64位,所以下面的配置是基于x86_64下配置的。下载:CygwinCygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上。到http://cygwin.com/...