COCOS2D - 技术教程文章

cocos2dx-3.x 导出自定义类到 lua 过程【代码】【图】

一、简介最近正在学习cocos2d中的lua游戏开发,因为lua开发的热更新特性,大家开发游戏好像都会优先选择lua作为开发语言。但是遇到一个问题,用lua写一些简单的程序没什么问题,但是一旦需要一个复杂的类,在lua中直接写就感觉有些吃力。所以想到,可以把游戏开发中比较复杂的模块使用c++完成,然后导出到lua,让lua可以轻松调用。我从头到尾完整地完成了cocos2dx-3.x中自定义类的导出过程,在网上查了好多资料,也碰到了很多错误,...

Cocos2d JS 之消灭星星(十) 关卡配置【代码】

关卡配置,包括每个关卡的通关分数和当前关卡的星星数量 1/* 2 * 关卡配置3 * 每一关的通过分数和星星数量配置档4*/ 5var levelData = 6[7 {level:1, standards:1000, starNumber:4},8 {level:2, standards:3000, starNumber:4},9 {level:3, standards:5000, starNumber:4},10 {level:4, standards:7000, starNumber:4},11 {level:5, standards:9000, starNumber:4},12 {level:6, standards:11000, starNumber:4},13 ...

【Cocos2d入门教程四】Cocos2d-x菜单篇【图】

游戏世界多姿多彩,无论多靓丽的游戏,多耐玩的游戏,在与游戏用户交互上的往往是菜单。 上一章我们已经大概了解了导演、节点、层、精灵。这一章以菜单为主题。菜单(Menu)包含以下内容:1.精灵菜单项(MenuItemSprite)2.图片菜单项(MenuItemImage)3.文字菜单项(MenuItemFont)4.标签菜单项(MenuItemLabel)4.开关菜单项(MenuItemToggle)菜单的继承关系:这里图片菜单项也是同样继承于精灵菜单下。图片菜单项也可称为精灵菜单 。文字...

cocos2dx android 打包环境配置 安装包下载【代码】【图】

安装包 所需要的安装包如下: Cocos2d-x 3.4,地址 http://cn.cocos2d-x.org/download#anchor2。其他安装包百度下载网盘链接:http://pan.baidu.com/s/1c0hRJig 密码:kfzqAndroid SDk。 NKD,Cocos2d官方推荐使用R9D版本,使用R10D会出现找不到srand函数错误。 Eclipse,我使用的是最新的Luna标准版。 ADT,用Eclipse开发Android程序需要用到ADT环境。 JDK,java开发环境。 AVD ARM支持,默认的Android模拟器是没有ARM支持...

Cocos2d-x3.0 EventListener【图】

GlobalZTouchTestbool HelloWorld::init() {//////////////////////////////// 1. super init firstif ( !Layer::init() ){return false;}_accum = 0;auto listener = EventListenerTouchOneByOne::create();listener->setSwallowTouches(true);listener->onTouchBegan = [](Touch* touch,Event* event){auto target = static_cast<Sprite*>(event->getCurrentTarget());Point locationInNode = target->convertToNodeSpace(touch-...

cocos2d-x的声音控制

声音控制SimpleAudioEngine是单例。下面是其方法。 [cpp] view plaincopy//获得SimpleAudioEngine的实例 static SimpleAudioEngine* sharedEngine(); //提前加载音频 void preloadBackgroundMusic(const char* pszFilePath); //播放背景音乐。是否循环播放 void playBackgroundMusic(const char* pszFilePath, bool bLoop = false); //停止背景音乐 void stopBackgroundMusic(bool bReleaseData = false); //暂停背景音乐 ...

宝爷Debug小记——Cocos2d-x(3.13之前的版本)底层BUG导致Spine渲染花屏【代码】【图】

最近在工作中碰到不少棘手的BUG,其中的一个是Spine骨骼的渲染花屏,在战斗中派发出大量士兵之后有概率出现花屏闪烁(如下图所示),这种莫名奇妙且难以重现的BUG最为蛋疼。 前段时间为了提高Spine骨骼动画的加载速度,将Spine库进行了升级,新的Spine库支持skel二进制格式,二进制格式的加载速度比json格式要快5倍以上。 这是一个大工程,游戏中所有的骨骼动画都需要使用更高版本的Spine编辑器重新导出,由于部分美术没有对源文件...

Cocos2d-x 安装教程for mac(Xcode)【图】

cocos2d v3.x 版本出来后,从配置安装到创建项目都是命令行,下面简单说一下. 1. 下载地址 http://cn.cocos2d-x.org/download/ (虽然没有标明 for mac 但是亲测可以试用,不用去https://code.google.com/p/cocos2d-x/downloads 下载,要是想去这里下载,也可以。) (目前最新版本3.6 331M左右) 2. 下载完成解压后, 打开终端, 进入到对应文件夹。比如我的: cd /Users/apple/Desktop/Colin/Cocos2d-x/cocos2d-x-3.3/ 再执行 ./s...

Cocos2d-x 3.2 大富翁游戏项目开发-第十二部分 显示回合计数器【图】

在右下角显示游戏进行的回合数:实现方式:1、 在GameBaseScene类中创建帧缓存存放十个数字的SpriteFrame,代表0-9的阿拉伯数字,放入Vector中2、 在GameBaseScene类中定义变量gameRoundCount,初始值为03、 在GameBaseScene类中定义refreshRoundDisplay()方法,用来刷新回合显示实现方式,采用数字取模,除以0不为零,直到取完,从digiteVector取得sprite对象,倒序放入refreshRoundVector中,取模完毕后,刷新显示4、 当所有角色...

关于Cocos2d-x中UI按钮的定义【代码】

1.要有两张不同状态的图片2.定义一个MenuItemSprite的实例,把这两张图的Sprite实例放进MenuItemSprite的实例3.把MenuItemSprite的实例放进Menu实例(4.暂停按钮的这种的要把MenuItemSprite的实例再放进MenuItemToggle实例中,再把MenuItemToggle实例放进Menu实例中)5.把Menu实例addChild到层 例子开始游戏按钮1 auto startNormal = Sprite::create("startNormal.png"); 2 auto startSelected = Sprite::create("startSelec...

Cocos2d-x v3.9发布

近日, Cocos引擎完成重大更新:发布了Cocos 2d-x v3.9版本。据悉,Cocos 2d-x v3.9版本补全了3D功能,大大提升了画面表现力;同时在更稳定的2D功能基础上,强化了2D功能的易用性,让代码更为优雅。该版本进一步完善并整合了历史零碎功能,为开发者创造更为简单、快捷的开发环境。Cocos 3D功能日益完善 (Cocos引擎打造的拖尾效果)此次Cocos 2d-x v3.9新增3D MotionStreak功能,支持拖尾效果。 在游戏的实现过程中,开发者有时会需...

cocos2d-x 3.2 之 2048 —— 第三篇【图】

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************OK,抓紧更新吧。长话短说,直奔主题,第三篇:——数字块类的创建数字块是神马?——就是那个,你滑动的数字,还有随机出现的数字。我们,先创建一个类NumberTiled,继承自Node:NumberTiled.h:#ifndef __test2048_NumberTiled_H__ #define __test2048_NumberTiled_H__#include "cocos2d.h"USING_...

cocos2d-x类型转换(CCstring int string char UTF-8互转)【代码】

http://www.cnblogs.com/leehongee/p/3642308.html //int 转 CCstringint num=5;CCString* ns=CCString::createWithFormat("%d",num);//CCstring 转 int int px = ns->intValue();//将CCString 转换为int的方法,转成float类型有 floatValue() //======================================//CCString 转 char const char *string= ns->getCString();//char 转 CCString CString.Format(”%s”,char *)//char 转cstring CCStrin...

mac下创建cocos2d-x 3.7项目【代码】

因为之前开发都是在window下进行开发,而且都是用quick进行开发,因此对c++以及在Mac下的开发还不是很了解,最近买了台Mac,想把这方面补给一下,做一下笔记。 首先先去cocos2d-x官网上下载cocos2d-x3.7,在打开终端,进入cocos2d-x3.7文件夹下的: cocos2d-x-3.7/tools/cocos2d-console/bin目录下,输入命令:./cocos.py new HelloWorldDemo -p com.coco2dx.org -l cpp -d ~/Desktop .代表的是当前目录,~/代表的系统的根...

【Cocos2d入门教程六】Cocos2d-x事件篇之触摸【代码】【图】

Cocos游戏当中产生一个事件时,可以有多个对象在监听该事件,所以有优先级(Priority).优先级越高(Priority值越小),事件响应越靠前。关系图:新 事件分发机制:在2.x 版本事件处理时,将要触发的事件交给代理(delegate)处理,再通过实现代理里面的onTouchBegan等方法接收事件,最后完成事件的响应。 而在新的事件分发机制(3.x)中,只需通过创建一个事件监听器-用来实现各种触发后的逻辑,然后添加到事件分发器_eventDispatch...

(原创) cocos2d-x 3.0+ lua 学习和工作(4) : 公共函数(8): 生成只读table【代码】

这个函数的作用是:生成只读table。--[[ -- 生成只读table -- @param table t 需要不允许修改的tableexample:local tb = {"星期一", "星期二", "星期日"} local days = readOnly( tb );days[2] = "星期三哪去了啊?" ;"[string \"Functions.lua\"]:466: 别修改我!我是只读的!" --]] function readOnly( t )local newT = tlocal mt = {__index = {}, -- 如果改成 newT = {}, __index = t, 会导致无法直接使用for循环遍历,...

cocos2dx中字体样式名称整理【代码】【图】

出处:http://www.himigame.com/iphone-cocos2d/444.html感谢原作者的辛勤整理-----------1------------------------对应字体样式源码:CCLabelTTF *myLabel = [CCLabelTTF labelWithString:@"AppleGothic" fontName:@"AppleGothic" fontSize:20]; myLabel.position=ccp(70, 50); [self addChild:myLabel]; CCLabelTTF *myLabel2 = [CCLabelTTF labelWithString:@"HiraKakuProN-W6" fontName:@...

cocos2dx下C++11正则表达式和android下C语言正则表达式的使用--------案例密码校验

/************************************************************************/ /* 密码校验 */ /* C++11下没有问题,但是C语言是有问题的 */ /* 错误案例:^[a-zA-Z0-9~!@#$%^&*()_+`\\-={}\\[\\]:\";'<>?,.\\/]{6,20}$正确案例:^[]a-zA-Z0-9~!@#$%^&*()_+`={}:;'<>?,./\"\[-]{6,20}$解答:最恶心的匹配有三个字符 []-- 如果...

Learning Cocos2d-x for WP8(9)——Sprite到哪,我做主【图】

这是本系列的最后一篇文章了,和大家一起学习2013年里最优秀的网页设计作品。在过去的一年,网页设计领域出现了几个新的流行趋势,最热门的要数响应式设计(Responsive Design)和扁平化设计(Flat Design)了,另外大图片背景、视频背景设计也被越来越多的设计师采用。您可能感兴趣的相关文章流行趋势:25个最佳扁平化网页设计案例分享30个独特的 404 错误页面设计模板向设计师分享30个免费的扁平化设计素材优秀案例:40个创意的...

Cocos2dx+lua合适还是Cocos2dx+js合适?

问题:开发cocos2dx手游Cocos2dx+lua合适还是Cocos2dx+js合适百牛信息技术bainiu.ltd整理发布于博客园回答:作者:廖宇雷链接:https://www.zhihu.com/question/21130385/answer/18485625来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。2014.02更新:请放心选择 Lua 吧。触控已经收购了 quick-cocos2d-x,2014年肯定会大力强化 cocos2d-x 的 Lua 支持。----我个人肯定是推荐 Lua 的,原因如下:1...

Quick cocos2dx-Lua(V3.3R1)学习笔记(四)----文本渲染之用BM TTF创建文本【代码】【图】

上一篇我们显示了背景图和文字,这一篇我们详细介绍一下文本显示的方法 一,显示fnt格式字体首先我们下载BMF格式文件制作工具,Bitmap Font Generator下载地址:http://www.angelcode.com/products/bmfont/安装完毕,我们打开这个工具,看到如下的界面 左边就是单独字体 右边就是字体库(注意:如果要有符号输入,将第一项Latin+Latin Supplenment打钩)(你看你看,我不是所有括号都有自言自语的)我们来创建字体点击Options下面的...

cocos2d-x 3.x 场景切换特效大集合

游戏开发中经常需要用到Cocos2d-x 3.x中的场景切换特效,本文中进行一下汇总。 基本使用思路如下:?123auto scene=HelloWorld::createScene();//创建待切换的场景auto transition=TransitionZoomFlipY::create(1.0f,scene);//给场景包装动画特效 Director::getInstance()->replaceScene(transition);//运用导演类来进行切换场景 下面列举下场景切换的动画效果,可以参考上面的代码来运用各个特效,在自己的游戏中适当的...

cocos2dX 事件之触摸事件和触摸事件集合【图】

今天, 我们来学习cocos2dX里面的触摸事件与触摸事件合集, 现在的手机游戏交互基本上都是通过触摸交互的, 所以大家明白这节的重要性了吧, 本节篇幅比较大, 所以我就不扯闲话了先来看看常用函数:触摸事件:addTargeteDelegate( 谁使用, 优先级, 是否拦截触摸消息);//注册单点触摸virtual bool ccTouchBegan(CCTouch * touch,CCEvent * event);//触摸开始virtual void ccTouchMoved(CCTouch * touch,CCEvent * event);//触摸滑动virtua...

[寒江孤叶丶的Cocos2d-x之旅_33]RichTextEx一款通过HTML标签控制文字样式的富文本控件【代码】

RichTextEx一款通过HTML标签控制文字样式的富文本控件原创文章,欢迎转载。转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列]博客地址:http://blog.csdn.net/qq446569365下载地址Github链接这个是干什么的将例如以下文字内容 "<#F37C2A><font Helvetica><30>【世】<#3AB5B3><underLine true>寒江孤叶<underLine false><#F8F4D7>:HelloWorld" 生成如图所看到的样式的RichText(支持图片以及闪烁、旋转和其它自己定义的效果、控件...

cocos2dx安卓客户端接入移动MM付费SDK【代码】【图】

C++和java的调用需要使用JNI,这里使用cocos2dx提供的JniHelper就可以满足要求。以游戏中购买炸弹道具为例流程图: 先按照文档进行配置;在Java工程中新建一个包"IAP",作为C++与mmsdk交互的中间层;Handler和Listener可以使用Demo自带的两个类,将Demo2.4.2中的IAPHandler.java和IAPListener.java复制到IAP中;在package IAP下新建类IAPJni 1package IAP;2 3import com.test.iap.testiap;4 5import android.content.Context;6imp...

cocos2d-x3.2中的getVisibleSize,getContentSize,boundingBox,getContentSizeInPixels,convertToGL,convertTo

Node类的setPosition,getPosition函数如果是一个Node的Child则获取的坐标就是该Node的本地坐标另一个关键问题就是在cocos2d-x里就是各种对象的大小问题。因为在cocos2d-x里Node对象有缩放的方法setScaleX和setScaleY。所以在获取对象大小的时候必须根据情况明确指定获取对象原始大小,还是缩放后的大小。当然cocos2d-x里提供了对应函数来完成这些操作:getContentSize函数来获得节点原始的大小。只是逻辑尺寸,不是像素。返回CGSi...

Cocos2d-X开发一个简单的小游戏【图】

学了这么久Cocos2d-X,今天终于可以做出一个简单的小游戏了,游戏非常简单,通过菜单项控制精灵运动在做游戏前,先学一个新概念调度器(scheduler):Cocos2d-x调度器为游戏提供定时事件和定时调用服务。所有Node对象都知道如何调度和取消调度事件,使用调度器有几个好处:每当Node不再可见或已从场景中移除时,调度器会停止。Cocos2d-x暂停时,调度器也会停止。当Cocos2d-x重新开始时,调度器也会自动继续启动。Cocos2d-x封装了一个...

cocos2dx游戏--三国关羽传【角色扮演类】Demo的制作及实现

项目地址:https://github.com/moonlightpoet/GuanYuZhuan主要类及其对应效果:MainScene:菜单界面(用于选择不同剧本)StoryScene:故事界面(对应于不同的剧本)FightScene:战斗界面(对应对战斗的界面,不过做的很简略,基本上就是主人公(关羽)打一下人后敌人就死了,然后进入了胜利界面)SucceedScene:胜利界面(用于显示胜利,并返回菜单界面) 原文:http://www.cnblogs.com/moonlightpoet/p/5578936.html

cocos2d-x3.0 + vs2012环境配置【图】

cocosd-x 3.0版本传说做了很多优化,性能有了很大提升,支持c++ 11,目录结构和类名也改了,取消了各种类的CC前缀,比如CCSprite变成了Sprite,支持CocoStudio UI编辑器等。总之,比以前的版本效率要好,也更好用了。很久没有玩cocos2d-x了,现在重新来温习一下配置3.0版本,现在最新的版本是cocos2d-x-3.0alpha1。 1. 下载安装vs2012(只安装支持c++的部分就好),因为cocos2d-x 3.0使用了c++ 11特性,vs2010不支持。 2. ...

cocos2dx 开启控制台【代码】【图】

1BOOL WINAPI HandlerRoutine(DWORD dwCtrlType)2{3if (dwCtrlType == CTRL_CLOSE_EVENT)4 {5 FreeConsole();6 }7return TRUE;8}910//开启控制台11AllocConsole(); 12SetConsoleCtrlHandler(HandlerRoutine, TRUE); 13// freopen("CONOUT$", "w+t", stdout); 14// freopen("CONIN$", "r+t", stdin);15 freopen("CONIN$", "r", stdin); 16 freopen("CONOUT$", "w", stdout); 17 freopen("CONOUT$", "w", stderr);View...