cocos2d-x
xiaolomg
学习无止境
展开
-
cocos2d-x创建精灵
sprite我暂时简单理解为一个可以移动的实体,随便什么都可以,就是一张贴图,移动,不过可以变换动作(另一张贴图)。吐槽一下:cocos2d-x的C++代码写的不是很严谨。下面我们来看下创建的基本流程:class HelloWorld : public cocos2d::CCLayerColor我们的HelloWorld继承CCLayerColor,为毛不是CCLayer呢原创 2013-10-28 14:35:51 · 1372 阅读 · 0 评论 -
cocos2d-x3.0 响应键盘back按键退出游戏
3.0还是有些变化,Layer类的函数要看明白。final过的函数是不允许继承的。要实现相应back键要这样:class GameOverLayer : public Layer{public: GameOverLayer(); virtual void onKeyReleased(EventKeyboard::KeyCode keyCode, Event* event) ov原创 2013-11-06 14:03:08 · 2537 阅读 · 0 评论 -
cocos2d-x3.0 Android环境配置
看了网上的各种blog,要么是太旧,要么是我弄了依然不行,只有自己折腾,下面写出解决办法:首先,官方文档最权威!用py创建跨平台project后会生成proj.android文件夹,里面有个文件README.md打开按照里面的一步一步来:#### Setup Eclipse Environment (only once)**NOTE:** This step n原创 2013-11-06 11:47:04 · 6716 阅读 · 1 评论 -
cocos2d-x3.0利用脚本在classes内创建class
一般需要把新建的class放在classes文件夹里。这样比较好移植。但是VS直接创建不能直接指定文件夹,所以下午花了点时间创建了个脚本。首先用python把文件创建函数写好,接口很简单:工程名和新类名。因为要在cocos2d-x/projects文件夹下创建。,py文件和之后的bat文件都要放在cocos2d-x根目录下:py代码:import sys,osdef c原创 2013-11-05 15:32:48 · 1626 阅读 · 0 评论 -
cocos2d-x3.0打飞机发子弹
如有雷同,我是抄袭 偶尔e网事 童鞋的。其实我就是讨厌cocos2d-x滥用单例类,作用划分的不清晰。。。。。在GameLayer里加入planeLayer和BulletLayer。同时因为BulletLayer里子弹的初始位置在飞机sprite的头部,所以需要持有sprite,所以要把planeLayer的实例传给BulletLayer。因此BulletLayer是酱紫:cl原创 2013-11-05 23:07:55 · 4434 阅读 · 0 评论 -
cocos2d-x 3.0sprite轮换
主要是看了 偶尔e网事 童鞋提出的一篇,主要是改下代码风格,coco2d-x设计木有风格,是copy的,所以努力走自己的风格。就是sence里面加layer,运行sence渲染layer。最讨厌那么多static函数了,这根objected programming有毛关系?果断修改:bool AppDelegate::applicationDidFinishLaunching(原创 2013-11-04 17:47:01 · 1645 阅读 · 0 评论 -
cocos2d-x3.0之内存拷贝
3.0模仿object-c的痕迹少了,看上去更C++了,这是官方说滴。object减少了那么多复杂的功能,我认为还得拆分。不过cocos2d-x正朝着这个方向努力。比如原来的object:public copying就被干掉了。并不是一切东西我们都希望可拷贝的。现在换成了组合的模式,比如:class CC_DLL Array : public Object, public Clon原创 2013-11-04 14:37:01 · 2033 阅读 · 0 评论 -
cocos2d-x3.0打飞机学习之纠正上一篇的一个问题
声明:模仿偶尔e网事童鞋。虽然改变了代码风格,但有一个关键点忽略了,就是autorelease。cocos2d-x一般用静态的create函数来搞,里面封装了autorelease。现在我这种写法需要在外部显式调用。#pragma once#include "cocos2d.h"USING_NS_CC;class PlaneLayer : public Layer原创 2013-11-05 03:48:24 · 2680 阅读 · 0 评论 -
cocos2d-x3.0之object内存管理
看object类的实现就行了。首先映入眼帘的是它们:protected: /// count of references unsigned int _reference; /// count of autorelease unsigned int _autoReleaseCount;然后我们先看下_reference都原创 2013-11-04 15:08:52 · 1808 阅读 · 0 评论 -
cocos2d-x3.0输入框
我要实现很简单的像下面的东东:左边的是LabelTTF,右边用EditBox。这里有个建议,大家写代码的就不要再用CC前缀的,有命名空间了还用那玩意干毛呢。。。纯粹是cocos2d-x作者仿制的cocos2d的不好的东东。好,下面写代码了: CCDictionary *strings = CCDictionary::createWithContentsOfFile("wor原创 2013-11-03 21:39:26 · 2749 阅读 · 0 评论 -
cocos2d-x3.0从XML读取中文
网上很多这样的文档,3.0只不过是有些变动。直接上代码:保存的XML文件放到resources文件夹里,具体格式自己定,但要是uft8的。比如: KeyWordsFind 关键字查找 SuarAyaFind 按章节查找解析代码也很少: CCDictionary *strings = CCDictionary::createWi原创 2013-11-03 00:08:16 · 2036 阅读 · 2 评论 -
在cocos2d-x下实现查询软件功能
1.首先是读取XML,这个可以用tinyXML,在win32上可以,不知道跨平台会不会影响;如http://blog.csdn.net/liuyuyefz/article/details/80415822.就是button,其实sprite就行,给张贴图就结了,;如http://blog.csdn.net/musicvs/article/details/82429633.然后就是输入框,可原创 2013-11-02 23:14:33 · 1281 阅读 · 0 评论 -
cocos2d-x入门(7)-win7下把win32游戏移植到Android平台(无需cygwin和minigw)
来自:Alex Zhou的程序世界,本文链接:http://codingnow.cn/cocos2d-x/706.html接下来需要把win32上测试成功的demo移植到android上运行。首先需要下载最新ndk和eclipse,因为本项目完全使用NDK自带的编译器,没有用到cygwin ,所以需要NDK R7B 以上的版本。步骤如下:(1)把cocos2d-x安装目录下转载 2013-11-02 11:09:53 · 1439 阅读 · 0 评论 -
layer之间切换
#ifndef _TESTLAYER_H#define _TESTLAYER_H#pragma once#include "cocos2d.h"using namespace cocos2d;class TestLayer : public Layer{public: TestLayer(const std::string& layerName,const std::s原创 2013-11-01 17:54:14 · 1851 阅读 · 2 评论 -
【玩转cocos2d-x之十】cocos2d-x坐标系
原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12830971cocos2d-x采用的是笛卡尔平面坐标系,也就是平面上两条垂直线构成的坐标系,平面上任意一点都可以用(x,y)来表示。(1)就坐标系方向而言,cocos2d-x分为屏幕坐标系和OpenGL坐标系。(2)就节点本身而言,co转载 2013-11-01 15:23:37 · 1075 阅读 · 0 评论 -
bat创建cocos2d-x项目
@echo offecho Crate-New-Cocos2d-X-Project:set /p name=Please Input Project Name echo Creating...set pk=com.allen.E:\cocos2d-x-3.0\create-multi-platform-projects.py -p %name% -k %pk%%name% -l c原创 2013-10-31 13:40:58 · 1385 阅读 · 0 评论 -
cocos2d-x aplha3.0中添加touch事件
如果你想在layer子类里像原来那样override CClayer里的这几个函数: // Deprecated touch callbacks. CC_DEPRECATED_ATTRIBUTE virtual bool ccTouchBegan(Touch *pTouch, Event *pEvent) final{CC_UNUSED_PARAM(pTouch); CC_U原创 2013-10-31 10:55:19 · 1972 阅读 · 0 评论 -
cocos2d-x3.0 touch研究
看来得好好研究下touch事件,非常重要的一个东东,因为智能手机经常要发生touch交互。我们看下cocos2d-x里面是如何实现touch事件的注册和分发的:首先看这个函数:GLFWAPI GLFWmousebuttonfun glfwSetMouseButtonCallback(GLFWwindow* window, GLFWmousebuttonfun cbfun);是o原创 2013-11-07 13:49:14 · 2454 阅读 · 0 评论