类A要获得类B中的某个属性,可以是节点属性1.先在B类中定义一个_edge的节点属性(可以在B类中进行各种对_edge的操作),然后写一个方法Node* GameController::getEdge(){ return _edge;} 2.接着在A类中先实例化一个B类的对象,然后用这个对象调用刚才写在B类中的那个方法,就可以获得B类中的那个属性。if (gc->getEdge()->getBoundingBox().containsPoint(t->getLocation())) { }原文:http://www.cnblogs.com/HangZhe/p/57697...
在上一篇文章中,我们介绍了如何绘制一个立方体,里面涉及的知识点有VBO(Vertex Buffer Object)、IBO(Index Buffer Object)和MVP(Modile-View-Projection)变换。 本文将在教程4的基础之上,添加纹理贴图支持。最后,本文会把纹理贴图扩展至3D立方体上面。 基本方法当我们把一张图片加载到内存里面之后,它是不能直接被GPU绘制出来的,纹理贴图过程如下:首先,我们为之前的顶点添加纹理坐标属性并传到vertex shader里面去;然后,把...
这几天看了libpomelo的cocos2dx客户端这是个聊天室,由2个场景构成,登录场景LoginScene,聊天场景ChatScene。一. LoginScene客户端是以Login场景来启动的Login场景初始化时先构造各种控件比如文本框,然后为登录按钮绑定登录回调 创建menu及其回调CCMenuItemLabel *pMenuItem = CCMenuItemLabel::create(label, this, menu_selector(Login::onLogin));CCMenu *pMenu = CCMenu::create(pMenuItem, NULL);pMenu->setPosition( CCPo...
刚才我们 学习了基本的CCNotificationCenter观察者模式在一个层之中监听事件,现在我们再进一步学习如何在不同层之间监听吧,这一节的知识点我们在HelloWorld中发送一个事件消息在OtherLayer中接受并且处理消息。其实很简单只是一个函数换了个位置而已,直接上代码吧:class HelloWorld : public cocos2d::CCLayer { public:virtual bool init(); static cocos2d::CCScene* scene();void sengMsg(CCObject *pSender);//void test...
Cocos2d-x 3.0 加入了rapidjson库用于json解析。位于external/json下。rapidjson 项目地址:http://code.google.com/p/rapidjson/wiki:http://code.google.com/p/rapidjson/wiki/UserGuide下面就通过实例代码讲解rapidjson的用法。使用rapidjson解析json串引入头文件12#include "json/rapidjson.h"#include "json/document.h"json解析12345678910111213std::string str = "{\"hello\" : \"word\"}";CCLOG("%s\n", str.c_str());ra...
1、Lua中如何使用Cocos2d-x引擎中的类?在C++中是这样调用的://Sprite* sprite = Sprite::create();sprite->setPosition(Vec2(100, 100));this->addChild(sprite);//而在Lua中是这样调用的://local sprite = cc.Sprite:create()sprite:setPosition(cc.p(100, 100))self:addChild(sprite)//是不是很简单?差别其实不是很大嘛!Lua中使用引擎中的类,只要在前面多加个 cc. 即可。而调用类的函数,不是双冒号(::) ,而是一个冒号(...
??1 游戏逻辑架构具体介绍A 一个导演同一时间仅仅能执行一个场景,场景其中,能够同一时候载入多个层,一个层能够可载多个精灵。层中亦能够加层。B 场景切换sceneàaddChild(layer);layeràaddChild(sprite); 2 项目创建命令:A 进入tools下的project-creatE:\Installed\cocos2d-x-2.2.3\tools\project-creator>B python create_project.py -project MyCocos2dx -package com.toto.mycocos01 -language cppC 命令解释:-project MyC...
话说今天从霍营到回龙观,走到天鑫家园东路。我肋哥去,堵死我啦。7:30出门,9:10还没到回龙观。北京这交通真是坑爹。回过头想想。怪自己走小路,有时候确实快。可有时候真堵。堵了35分钟后果断掉头,如今想做个測试,假设发现前方堵车约200米,同一时候你还知道有其它路能够到达目的地,你会做何举动?1。死等。2。超过5分钟没动。立刻掉头,改路。3。假设有掉头的。立刻掉头。改路。4。走到修路点发现彻底过不去了,掉头。改路...
Cocos2d-x 已经加入了tinyxml2用于xml的解析。3.0版本位于external/tinyxml2下。2.x版本位于cocos2dx/support/tinyxml2下。tinyxml2 Github地址:https://github.com/leethomason/tinyxml2帮助文档地址:http://grinninglizard.com/tinyxml2docs/index.html生成xml文档引入头文件#include "tinyxml2/tinyxml2.h" using namespace tinyxml2;xml文档生成void HelloWorld::makeXML(const char *fileName) { std::string filePath = F...
cocos2d-x 是一款跨平台的游戏引擎,虽然现在只学到了一点点皮毛,但是确实感受到了一款游戏引擎的强大功能,让我这个做游戏的小白也算过了一把做游戏的瘾。但是因为配置的复杂性,让我在一开始走了不少弯路,现在记录下来整个安装配置的过程。安装配置过程中需要用到的安装包主要有下面几个:cocos2d-x 3.4:这个是当然必须要的了,目前最高版本是 3.6 版,但是好像和 3.5 版都有不少问题,还是先用 3.4 吧。android studio 1.1.0...
上一章已经学习了环境的搭建。这一章对基础概念进行掌握。内容大概有:1.导演2.场景 3.节点4.层4.精灵 1.导演(Director)导演存在的主要作用:环境设定(帧率 初始化openGl和渲染器)场景管理执行主循环游戏就是个死循环 不断不断的渲染 就跟视频没两样 一帧一帧的绘制出来 话说提一下一帧为1/60秒 也就是说cocos2d里一秒渲染60次导演的管理: 计时器 事件管理器 动作管理器导演继承于REF 一个单例类 获得导演类Director实例语...
直接上代码 不说什么 这一款源码 凝视及多 PublicDef.h 公共头文件#define NF_PLATFORM 1 //当前版本号(默觉得普通版)//版本号列表 #define NF_PLATFORM_NORMAL 1 //normal #define NF_PLATFORM_91 2 //91 playform #define NF_PLATFORM_PP 3 //PP playform #define NF_PLATFORM_UC_ANDROID 4 //UC playform #define NF_PLATFORM_360_ANDROID 5 //360 playform #define NF_PLATFORM_DK_ANDROID 6 //DK playfo...
2014-09-21最近用Cocos2d-x 3.2 Lua写个小游戏,用DrawNode的时候发现的问题。1、GL Verts不断增长,代码如下local draw = cc.DrawNode:create() local points = {cc.p(0,0), cc.p(0 + size, 0), cc.p(0 + size, 0 + size), cc.p(0, 0 + size)} draw:drawPolygon(points, table.getn(points), s.CUBE_COLOR[type], 0, {}) draw:setTag("draw") node:addChild(draw)原因:由于设置了Tag,所以我每次都是取同一个DrawNode进行绘制,这...
***************************************转载请注明出处:http://blog.csdn.net/lttree********************************************啊哈~,做完这个开始准备做一些真正的小游戏耍一耍咯~打地基,很重要,地基打好了,可以开始别的东东啦 ~\(≧▽≦)/~啦啦啦这次学习的东东,是计划任务,顾名思义,不需要自己动手,它自己按照一定顺序执行的东东。最常见的,就是很多手游里的一些开始界面中,动态的背景。在上一次学习中,学...
因为骨骼动画是由多个sprite组成, 所以需要遍历每个sprite 才能修改整体, 开头这样设置,在游戏中发现走路状态没问题,攻击状态就有部分sprite没效果for (auto & object : armObj->getBoneDic()){if (cocostudio::Bone *bone = dynamic_cast<cocostudio::Bone *>(object.second)){Node *node = bone->getDisplayRenderNode();if (nullptr == node)continue;cocostudio::Skin *skin = static_cast<cocostudio::Skin *>(node);skin...