cocos2d-x
星宸楚梦
这个作者很懒,什么都没留下…
展开
-
cocos2d-x3.2 scrollView
头部引用.h页面include “extensions/cocos-ext.h”include “ui/CocosGUI.h”USING_NS_CC; USING_NS_CC_EXT; using namespace ui;.cpp页面ui::ScrollView* scrollView = ui::ScrollView::create(); scrollView->setContent原创 2015-07-03 10:02:03 · 1143 阅读 · 0 评论 -
cocos2d-x单例模式
.h头文件#ifndef __HELLOWORLD_PERSONSINGLE__#define __HELLOWORLD_PERSONSINGLE__#include "cocos2d.h"USING_NS_CC;class PersonSingle : public cocos2d::Layer{public: PersonSingle(); static Perso原创 2014-12-09 14:40:52 · 2085 阅读 · 0 评论 -
cocos2d-x 读取配置文件plist
在cocos2d-x中可以用.plist格式的文件来保存数据,它是XML文件格式的一种,在cocos2d-x解析.plist方面相关的资料比较少,但本身也很简单,要解析.plist文件可以参考cocos2d-x类库中的CCSpriteFrameCache类和CCParticleSystem类,它主要是使用CCDictionary类来对.plist文件进行操作。下面有一个.plist文件:原创 2014-12-24 11:32:29 · 1853 阅读 · 0 评论 -
cocos2d-x 视差节点 ParallaxNode 边界值判断
参考文章http://cn.cocos2d-x.org/tutorial/show?id=1322ParallaxNode就是视差节点的意思,当我们面对一个背景画面的时候,如果背景在滚动的时候可以使用这个节点,它的功能就是让子节点拥有不同的移动速率,这样,我们就可以让某一些子节点移动的慢一些,而某些子节点移动的快一些。这样营造出的效果就是远处的景物移动的快,而近处的景物移动的快,给人一原创 2014-12-23 11:52:45 · 2804 阅读 · 0 评论 -
cocos2d-x 血量条 CCProgressTimer实现
直接上代码//背景图片, auto* hpBgSprite = Sprite::create("hpbg.png");hpBgSprite->setPosition(Point(visibleSize.width/2, visibleSize.height/2-100 )); this->addChild(hpBgSprite); //有血量的原创 2014-12-22 11:03:55 · 1316 阅读 · 0 评论 -
cocos2d-x 拖动杆的实现
直接上代码在.h文件里面引用这几个文件#include "cocos-ext.h"USING_NS_CC;USING_NS_CC_EXT; //滑杆回调 void slideCallback(Object *sender, Control::EventType controlEvent); .cpp文件 //ControlSlider原创 2014-12-22 10:38:52 · 745 阅读 · 0 评论 -
cocos2d-x 场景切换
本文转载自:http://www.cnblogs.com/linux-ios/archive/2013/04/09/3010779.htmlbool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) {原创 2014-11-06 15:32:06 · 702 阅读 · 0 评论 -
cocos2d-x 3.0新特性
原来的CC前缀基本都被移除,如CCScene变成Scene,CCLayerColor变成LayerColor,CCMutableArray变成了Array(CCMutableArray已移除)等有些cc前缀改为了on,如ccTouchesEnded改为了onTouchesEnded。原来的shared*单例方法多改为get*,如CCDirector::sharedDirector(原创 2014-10-22 15:30:08 · 663 阅读 · 0 评论 -
cocos2dx A*算法
头文件和源文件复制到项目中就能用了! have fun使用cocos2dx 3.2 原理都一样淡蓝色的点是地图深蓝色的点是障碍物绿色的点是路径暗绿色的点是搜寻过的点红色的点是按路径行走的点dijkstra算法 会发现路径最短,但寻找过的路径比较多(计算速度慢)最佳优先搜索算法会发现寻找过的路转载 2014-11-27 12:00:43 · 767 阅读 · 0 评论 -
A*算法
如此好贴,不能不转!原文地址:http://dev.gameres.com/Program/Abstract/Arithmetic/AmitAStar.mht本文版权归原作者、译者所有,我只是转贴;如果侵害到您的权益,请联系我,我将删除本文。基本上,这文章可以说是最佳A*算法文档。极力推荐!Amit's A star Page中译文 译序这篇文章很适转载 2014-11-27 12:01:31 · 1145 阅读 · 0 评论 -
cocos2d-x Vector&map&value
容器3.0版本之前Cocos2d-x 引擎为我们提供了 CCArray、 CCDictionary 等 Objective-C 风格的容器;使用 Cocos2d-x 容器的一个重要原因在于 Cocos2d-x 的内存管理。一般来说,被存入容器的对象在移除之前都应该保证是有效的,但值得注意的是,在v3.0 beta版本中加入了数据结构Vector。原创 2014-10-09 14:40:33 · 2224 阅读 · 0 评论 -
cocos2d-x 实现真随机函数
首先计算机是无法产生真正的随机数的,都是伪随机。获取随机数的方式和算法多种多样,这里只给出一种方法,基于最新的C++11。12345#include std::uniform_int_distribution u(1,1000);std::default_random_engine e;e.原创 2015-02-02 17:06:25 · 1036 阅读 · 0 评论 -
ValueVector和Vector不得不说的故事
不得不说的故事鱼与熊掌不可兼得,类似这种例子生活中会经常碰到。同样的,如果你有去了解过Cocos2d-x 3.0,也会遇到这样一个令人纠结的情况 -- Value 与 Vector(Map)。为什么这么说呢?且听我慢慢道来。在Cocos2d-x 2.0版本,我们要存储一个int型数据,应该放到哪里?没错,放到CCArray中,如下:转载 2015-02-03 15:19:11 · 2401 阅读 · 1 评论 -
cocos2d-x httpclient发送get或者post消息请求
介绍HttpClient是HTTP客户端的接口。HttpClient封装了各种对象,处理cookies,身份认证,连接管理等。概念HttpClient的使用一般包含下面6个步骤:创建 HttpRequest 的实例;设置某种连接方法的类型(GET、POST等),这里通过setUrl传入待连接的地址;设置响应回调函数,读取response;添加请求到H原创 2014-10-10 17:21:15 · 7525 阅读 · 0 评论 -
C++时间戳 字符串 时间格式
time_t rawtime;time(&rawtime); rawtime就是时间戳 CCLOG(“%s”,ctime (&rawtime)); CCLOG(“%ld”,rawtime);struct tm * ptm; ptm = localtime(&rawtime); ptm就是时间格式 CCLOG(“%d”,ptm->tm_hour);mktime可以把时间格式转换成时间戳原创 2015-07-01 11:31:00 · 2947 阅读 · 0 评论 -
话说ValueMap的一般使用
ValueMap的作用和ValueVector一样,只能存放数据类型的元素。其他不多说看,直接看一些常见的使用:1、往ValueMap中添加一个元素:123Value a = 10; ValueMap star_map; star_map.insert(map::value_type("st转载 2015-05-08 11:59:19 · 3790 阅读 · 0 评论 -
cocos2d-x类型转换(CCstring int string char UTF-8互转)以及字符串详解
在做数据转换时,最好包含以下头文件#include #include #include #include USING_NS_CC;using namespace std;在cocos2d-x中,也有一个格式刷:CCString(数据转换常常找她做中间人),那么我们要转换类型,可先将起始数据类型刷成CCString然后再转成目的数据类型,这个方法比较方便且实用。转载 2014-12-24 16:55:20 · 4090 阅读 · 4 评论 -
cocos2d-x屏幕适配原理分析
cocos2d-x作为著名的cocos2d游戏开发框架的C++实现者,最近一年发展迅猛。越来越多的app使用它实现快速多平台部署,从最初的ios,android,win32等到新近的html5,实现移动,客户端到浏览器全覆盖,不得了~~开发移动应用的屏幕适配和爱情一样是一个从洪荒时代就存在的永恒命题,根本目的是实现在不同设备上用户体验的统一。cocos2d-x在cocos2转载 2015-04-14 15:26:48 · 518 阅读 · 0 评论 -
Cocos2d-x 3.1.1 学习日志17--移植出现error C1083: 无法打开包括文件:“extensions/ExtensionMacros.h”: No such file or,
第一步,我们需要导入三个包,导入方式:解决方案(右键)-》添加-》现有项目导入第一个libGUI.vcxproj (H:\mycompany\EditBoxTest\cocos2d\cocos\ui\proj.win32)导入第二个libExtensions.vcxproj (H:\mycompany\EditBoxTest\cocos2d\exte转载 2015-04-23 09:43:56 · 2554 阅读 · 0 评论 -
Cocos2d-x 屏幕适配解决方案
第一,对于屏幕适配问题,首先必须理解几个基本的概念。 FrameSize:实际上就是设备的原始分辨率,开发环境中可以通过CCEGLView::sharedOpenGLView()->setFrameSize()来设置设备的分辨率大小,当然也可以可以通过CCEGLView::sharedOpenGLView()->getFrameSize()获取得到设备的分辨率 WinSize:转载 2015-04-23 11:04:37 · 450 阅读 · 0 评论 -
cocos2d-x 3.2 在window平台vs2012下解决中文乱码问题
坑底的vs2012搞了一上午才发现乱码问题是怎么回事在其他平台下文件编码一般都是utf-8,可是在vs2012上面使用的是gb2312,问题来了,你要是想输入中文就是乱码解决办法很简单的1,在vs2012上面文件——》高级保存选项——》选择utf-8编码,就这么简单,ok了ps:我是调用了,这个类库在window平台没问题,可是要是往android平台上移植原创 2014-12-12 15:14:33 · 2264 阅读 · 0 评论 -
cocos2d-x 类中传递参数
自己定义的类传递参数像auto bg = Sprite::create("buy/gmbj.png");一样很方便的,我苦逼的研究了好几个小时其实还是很简单的CREATE_FUNC(ShopLayer);这个宏重新一下就可以了LayerBuy* LayerBuy::create(int i){ LayerBuy *pRet = new LayerBuy();原创 2014-12-31 09:51:50 · 1718 阅读 · 0 评论 -
忍者无敌-实例讲解Cocos2d-x瓦片地图
实例比较简单,如图所示,地图上有一个忍者精灵,玩家点击他周围的上、下、左、右,他能够向这个方向行走。当他遇到障碍物后是无法穿越的,障碍物是除了草地以为部分,包括了:树、山、河流等。忍者实例地图(TODO用这个精灵替换图中的)设计地图我们采用David Gervais提供开源免费瓦片集,下载的文件dg_grounds32.gif,gif文件格式会有一定的问题,我们需要转换为.jpg或.png文件。本转载 2014-11-26 11:48:03 · 1027 阅读 · 0 评论 -
cocos2d-x Tiled map editor 创建地图导入项目
1,使用Tiled map editor 编辑器制作地图完成以后,到处tmx格式文件盒图片原创 2014-10-14 11:50:25 · 2437 阅读 · 0 评论 -
cocos2d-x触摸点使精灵移动到触摸点的位置
代码auto target = static_cast(event->getCurrentTarget());//获取Point locationInNode = target->convertToNodeSpace(touch->getLocation());auto curveMove = MoveTo::create(0.5f,locationInNode);this->getCh原创 2014-11-20 10:08:16 · 2668 阅读 · 0 评论 -
cocos2d-x 声音和音效
Cocos2d-x提供了对声音和音效的支持,能够十分方便地实现音乐与音效的播放、暂停和循环功能。使用音效引擎我们可以使用Cocos2d-x自带的CocosDension库来使用声音引擎。CocosDesion实现了简单易用的SimpleAudioEngine类,为了使用它,我们只需引入他的头文件即可:#include "SimpleAudioEngine.h"支持平台转载 2014-10-10 15:28:37 · 5900 阅读 · 0 评论 -
cocos2d-x ClippingNode的使用 节点剪裁
概述ClippingNode(裁剪节点)可以用来对节点进行裁剪,可以根据一个模板切割图片的节点,生成任何形状的节点显示。ClippingNode是Node的子类,可以像普通节点一样放入Layer,Scene,Node中。ClippingNode 原理:ClippingNode是利用模板遮罩来完成对Node区域裁剪的技术。如何理解ClippingNode的遮罩?看下图转载 2014-10-10 15:26:46 · 6695 阅读 · 1 评论 -
cocos2d-x 基础概念介绍——导演、场景、层、精灵
在Cocos2d-x-3.x引擎中,采用节点树形结构来管理游戏对象,一个游戏可以划分为不同的场景,一个场景又可以分为不同的层,一个层又可以拥有任意个可见的游戏节点(即对象,游戏中基本上所有的类都派生于节点类Node)。可以执行Action来修改游戏节点的属性,使其移动、旋转、放大、缩小等等。每一个时刻都有一个场景在独立运行,通过切换不同的场景来完成一个游戏流程,游戏流程的管理由Direct转载 2014-10-10 13:53:47 · 1879 阅读 · 0 评论 -
cocos2d-x 如何优化内存使用
如何优化内存使用内存优化原理为优化应用内存使用,开发人员首先应该知道什么最耗应用内存,答案就是纹理! 纹理几乎会占据90%应用内存。所以尽量最小化应用的纹理内存使用,否则应用很有可能会因为低内存而崩溃。 本文介绍Cocos2d-x游戏通用的两条内存优化原理指导。认识瓶颈寻找方案什么样的纹理最耗应用内存?或这些纹理会消耗多少内存?当然这个不用手动计算,只需猜测。 工具原创 2014-10-10 16:59:42 · 1116 阅读 · 0 评论 -
cocos2d-x 动作笔记
一 基本概念 1. CCAction是动作类的基类 ,所以动作都派生自这个类,它创建一个对象代表一个动作。动作作用于CCNode,因此任何一个动作都是有CCNode来执行 实例1. 一个图片从一点1秒时间移动到另一点Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 ori原创 2014-10-08 17:41:51 · 1812 阅读 · 0 评论 -
cocos2d-x 3.2 移动游戏背景和精灵
1,先新增监听事件auto listener = EventListenerTouchOneByOne::create(); listener->setSwallowTouches(true); listener->onTouchBegan = CC_CALLBACK_2(StartGame::onTouchBegan, this); listener->onTouchMoved = C原创 2014-11-10 11:17:08 · 1241 阅读 · 0 评论 -
cocos2d-x环境安装及windows平台下面android项目移植
1,安装java jdk2,安装python 2.7版本3,安装原创 2014-09-28 10:13:42 · 1201 阅读 · 0 评论 -
cocos2d-x 3.0纹理缓存
在游戏中需要加载大量的纹理图片,这些操作都是很耗内存和资源的。当游戏中有个界面用到的图片非常多,第一次点进这界面时速度非常慢(因为要加载绘制很多图片)出现卡顿,我们可以使用TextureCache提前异步加载纹理,等加载结束,进入到这个界面再使用这些图片速度就会非常快。Texture2D: 纹理,即图片加载入内存后供CPU和GPU操作的贴图对象。 TextureCache(纹转载 2014-10-22 16:36:36 · 1486 阅读 · 0 评论 -
cocos2d-x 3.0 精灵帧缓存(SpriteFrameCache)
SpriteFrameCache 主要服务于多张碎图合并出来的纹理图片。这种纹理在一张大图中包含了多张小图,直接通过TextureCache引用会有诸多不便,因而衍生出来精灵框帧的处理方式,即把截取好的纹理信息保存在一个精灵框帧内,精灵通过切换不同的框帧来显示出不同的图案。SpriteFrameCacheSpriteFrameCache的内部封装了一个Map _spriteFram转载 2014-10-22 16:21:41 · 7532 阅读 · 0 评论 -
cocos2d-x 调度器(scheduler)介绍
继承关系原理介绍Cocos2d-x调度器为游戏提供定时事件和定时调用服务。所有Node对象都知道如何调度和取消调度事件,使用调度器有几个好处:每当Node不再可见或已从场景中移除时,调度器会停止。Cocos2d-x暂停时,调度器也会停止。当Cocos2d-x重新开始时,调度器也会自动继续启动。Cocos2d-x封装了一个供各种不同平台使用的调度器,使用此调度器你不用转载 2014-10-10 13:50:13 · 5332 阅读 · 0 评论 -
cocos2d-x坐标系介绍
Cocos2d-x坐标系和OpenGL坐标系相同,都是起源于笛卡尔坐标系。笛卡尔坐标系笛卡尔坐标系中定义右手系原点在左下角,x向右,y向上,z向外,OpenGL坐标系为笛卡尔右手系。屏幕坐标系和Cocos2d坐标系标准屏幕坐标系使用和OpenGL不同的坐标系,而Cocos2d则使用和OpenGL相同的坐标系。iOS, Android, Windows转载 2014-10-10 13:59:22 · 695 阅读 · 0 评论 -
cocos2d-x触摸机制--用户交互事件
lambda,读音为:腊母达语句实现的触摸原创 2014-10-09 14:23:51 · 1317 阅读 · 0 评论 -
cocos2d-x CCUserDefault 实现数据存储XML
正在做项目中有很多游戏数据要保存,常见的玩家数据这些比较简单的可以用CCUserDefault。它是cocos2d-x用来存取基本数据类型用的。保存为XML文件格式。主要方法:(和java的map很像,键值对,应该很容易懂的)[cpp] view plaincopyvoid setBoolForKey(const char* pKe原创 2014-10-16 10:07:55 · 821 阅读 · 2 评论 -
cocos2d-x - 产生随机数(c++)
cocos2d-x提供了一个产生随机数的方法 CCRANDOM_0_1具体定义如下。?1234/** @def CCRANDOM_0_1 returns a random float between 0 and 1 */#define CCRANDOM_0_1() ((f原创 2014-10-17 12:36:10 · 1305 阅读 · 0 评论 -
cocos2d-x 3.0 图片按钮,文字按钮,菜单按钮,单选按钮,开关按钮
注意:原文是基于Cocos2d-iphone的教程,现已改为Cocos2d-X-3.0Beta版本。当你在使用cocos2d制作一个游戏的时候,你很可能会发现,你需要的第一个东西就是“按钮”。(比如游戏开始时的菜单选择界面等)这个教程将会一步步地教你如何使用cocos2d来创建按钮。刚开始创建简单的按钮,然后再介绍开关按钮和单选按钮。这篇教程假设你已经知道如何使用cocos2d来制作简单的转载 2014-11-18 11:07:32 · 5101 阅读 · 0 评论