cocos2dx_cocos2dx lua - CSDN
cocos2dx 订阅
Cocos2d-x是一个开源的移动2D游戏框架,MIT许可证下发布的。这是一个C++ Cocos2d-iPhone项目的版本。Cocos2d-X发展的重点是围绕Cocos2d跨平台,Cocos2d-x提供的框架。手机游戏,可以写在C++或者Lua中,使用API是Cocos2d-iPhone完全兼容。Cocos2d-x项目可以很容易地建立和运行在iOS,Android,黑莓Blackberry等操作系统中。Cocos2d-x还支持Windows、Mac和Linux等桌面操作系统,因此,开发者编写的源代码很容易在桌面操作系统中编辑和调试。 展开全文
Cocos2d-x是一个开源的移动2D游戏框架,MIT许可证下发布的。这是一个C++ Cocos2d-iPhone项目的版本。Cocos2d-X发展的重点是围绕Cocos2d跨平台,Cocos2d-x提供的框架。手机游戏,可以写在C++或者Lua中,使用API是Cocos2d-iPhone完全兼容。Cocos2d-x项目可以很容易地建立和运行在iOS,Android,黑莓Blackberry等操作系统中。Cocos2d-x还支持Windows、Mac和Linux等桌面操作系统,因此,开发者编写的源代码很容易在桌面操作系统中编辑和调试。
信息
发展重点
跨平台
类    型
开源的移动2D游戏框架
中文名
cocos2d-x
支持平台
iOS,Android等
cocos2d-x引擎介绍
Cocos2d-x是MIT许可证下发布的开源游戏引擎,游戏开发快速、简易、功能强大。2015年2月,触控科技正式推出了游戏开发一站式解决方案cocos,将Cocos 2d-x、Cocos Studio、Cocos Code IDE等框架及工具整合在一起。 [1]  Cocos2d-x核心优势在于允许开发人员利用C++、Lua及Javascript来进行跨平台部署,覆盖平台包括iOS、Android、Windows Phone、Windows, Mac OSX 3及Tizen等等,省事省力省成本。 [2]  Cocos2d-x用户不仅包括个人开发者和游戏开发爱好者,还包括许多知名大公司如Zynga、Wooga、Gamevil、Glu、GREE、Konami、TinyCo、HandyGames、IGG及Disney Mobile等。截止2013年9月,全球基于Cocos2d-x引擎的游戏下载量高达逾15亿,其中许多还占据苹果应用商店(AppStore)和谷歌应用商店(Google Play)排行榜。同时许多公司如触控、谷歌、微软、ARM、英特尔的工程师在Cocos2d-x领域也非常活跃。另外,Cocos2d-x版本升级困难的问题,是许多开发者的一大苦恼,而经过整合的cocos,解决了Cocos2d-x的这一问题。升级cocos,其相匹配的Cocos2d-x也将自动进行升级,这极大的提高了开发效率,为开发者们带来便利,同时也为Cocos2d-x的进一步发展打下基础。
收起全文
精华内容
参与话题
  • 教学使用源码进行分析,从根本出发,现在很多同学是实际项目中只会用,但是不知道这个到底是什么,知其然不而知...课程会从cocos2dx引擎的helloworld出发,从简单到复杂,步步递进,从实例下手,让大家去学会该知识点。
  • Cocos2dx入门

    千次阅读 2019-04-18 15:09:46
    一.Cocos2d-x引擎特性 现代化的 C++ API 立足于 C++ 同时支持 JavaScript/Lua 作为开发语言 可以跨平台部署, 支持 iOS、Android、Windows、macOS 和 Linux 可以在 PC 端完成游戏的测试,最终发布到移动端 完善的游戏...

    一.Cocos2d-x引擎特性

    现代化的 C++ API
    立足于 C++ 同时支持 JavaScript/Lua 作为开发语言
    可以跨平台部署, 支持 iOS、Android、Windows、macOS 和 Linux
    可以在 PC 端完成游戏的测试,最终发布到移动端
    完善的游戏功能支持,包含精灵、动作、动画、粒子特效、场景转换、事件、文件 IO、数据持久化、骨骼动画、3D


    二.环境配置

    要求:
    Windows 7+,
    VS 2015+
    python2.7

    JDK
    SDK
    NDK(可选)


    三.cocos命令配置

    1.cocos命令配置

    Cocos2d-x 带有一个命令行工具:cocos 这是一个跨平台的工具,你可以用它创建项目、运行项目、发布项目。命令行工具适用于所有 Cocos2d-x 支持的平台,包括:iOS、Android、Mac、Linux、Windows、Web。不用 IDE,只用命令行,你就能完成所有的工作!

    1.行引擎源码根目录的 setup.py
    python setup.py

    2.测试

    cocos -v
    Python 2.7.10
    cocos2d-x-3.16
    Cocos Console 2.3

    2.cocos命令使用

    • 1.项目创建

    cocos new MyGame -p com.MyCompany.MyGame -l cpp -d ~/MyCompany

    • 2.项目编译(程序从源码到二进制程序,有一个编译环节)

    cocos compile . -p android -m release

    • 3.项目运行

    cocos run . -p android -m release

    • 4.项目发布

    cocos deploy -s c:\MyCompany\MyGame -p android -m release


    四.日志输出

    log("This would be outputted to the console");
    
    string s = "My variable";
    log("string is %s", s);
    
    double dd = 42;
    log("double is %f", dd);
    
    int i = 6;
    log("integer is %d", i);
    
    float f = 2.0f;
    log("float is %f", f);
    

    五.基本功能

    1.Director导演

    Cocos2d-x 使用导演的概念,Director 任务是控制场景替换和转换。
    Director是一个共享的单例对象,可以在代码中的任何地方调用。

    2.Scene场景

    场景(Scene) 是一个容器,容纳游戏中的各个元素,如精灵,标签,节点对象。它负责着游戏的运行逻辑,以帧为单位渲染内容。
    1.场景创建

    class MyScene : public cocos2d::Scene
    {
    public:
    	static cocos2d::Scene* createScene();
    	virtual bool init();
    
    	// 实现crete静态方法
    	CREATE_FUNC(StartScene);
    };
    
    //创建
    auto myScene = MyScene ::create();
    

    2.场景切换

    //加载第一个场景
    Director::getInstance()->runWithScene(myScene);
    
    //切换场景
    Director::getInstance()->replaceScene(myScene);
    
    //叠加场景
    Director::getInstance()->pushScene(myScene);
    
    //释放场景
    Director::getInstance()->popScene(myScene);
    

    场景图
    场景图(Scene Graph)是一种安排场景内对象的数据结构,它把场景内所有的 节点(Node) 都包含在一个 树(tree) 上。
    Cocos2d-x 使用 中序遍历,先遍历左子树,然后根节点,最后是右子树。中序遍历下图的节点,能得到 A, B, C, D, E, F, G, H, I 这样的序列。

    场景图

    3.Layer层

    Layer代表层,一般常做Scene的子容器,可以添加Sprite,相当于精灵的面板容器。

    4.Sprite精灵

    精灵是您在屏幕上移动的对象,它能被控制;

    可以使用一张图像来创建精灵,PNG, JPEG, TIFF, WebP, 这几个格式都可以。当然也可以是图集

    使用图片

    auto mySprite = Sprite::create("mysprite.png");
    

    使用图集

    1.创建图集
    Texture Packer工具创建并导出plist+png图集

    2.加载图集

    auto spritecache = SpriteFrameCache::getInstance();
    spritecache->addSpriteFramesWithFile("sprites.plist");
    

    3.创建精灵

    auto mysprite = Sprite::createWithSpriteFrameName("mysprite.png");
    

    精灵的控制

    1.锚点
    mySprite->setAnchorPoint(0.5, 0.5);
    2.位置
    mySprite->setPosition(Vec2(100, 200));
    3.旋转
    mySprite->setRotation(20.0f);
    4.缩放
    mySprite->setScale(2.0);
    mySprite->setScaleX(2.0);
    mySprite->setScaleY(2.0);
    5.倾斜
    mySprite->setSkewX(20.0f);//水平倾斜
    mySprite->setSkewY(20.0f);//数直倾斜
    6.颜色
    mySprite->setColor(Color3B::WHITE);
    mySprite->setColor(Color3B(255, 255, 255));
    7.透明度
    mySprite->setOpacity(30);
    

    5.Action动作

    动作(Action)通过改变一个 Node 对象的属性,让它表现出某种动作。动作对象能实时的改变 Node 的属性,任何一个对象只要它是 Node 的子类都能被改变。
    1.单一动作

    //从当前位置到目标位置
    auto moveTo = MoveTo::create(2, Vec2(50, 10));
    mySprite1->runAction(moveTo);
    //从目标位置到当前位置
    auto moveBy = MoveBy::create(2, Vec2(20,0));
    mySprite2->runAction(moveBy);
    

    2.动作序列和并列
    还可以创建一个动作 序列(Sequence) 和Swan(并列)

    auto mySprite = Node::create();
    
    auto moveTo1 = MoveTo::create(2, Vec2(50,10));
    auto moveBy1 = MoveBy::create(2, Vec2(100,10));
    auto moveTo2 = MoveTo::create(2, Vec2(150,10));
    
    mySprite->runAction(Sequence::create(moveTo1, moveBy1,moveTo2, nullptr));
    //或者
    mySprite->runAction(Spawn::create(moveTo1, moveBy1, moveTo2, nullptr));
    

    六.UI组件

    UI 代表用户界面,是 User Interface 的缩写,界面组件有标签,按钮,菜单,滑动条等

    1.标签(Label)

    //BMFont
    auto myLabel = Label::createWithBMFont("bitmapRed.fnt", "Your Text");
    //TTF
    auto myLabel = Label::createWithTTF("Your Text", "Marker Felt.ttf", 24);
    //SystemFont
    auto myLabel = Label::createWithSystemFont("My Label Text", "Arial", 16);
    //阴影效果
    myLabel->enableShadow();
    //描边效果
    myLabel->enableOutline(Color4B::WHITE, 1));
    //发光效果
    myLabel->enableGlow(Color4B::YELLOW);
    

    2.菜单(Menu)

    //图片菜单
    auto closeItem = MenuItemImage::create("CloseNormal.png", "CloseSelected.png",
    CC_CALLBACK_1(HelloWorld::menuCloseCallback, this));
    
    //文字菜单
    auto startItem = MenuItemText::create("StartGame",
    CC_CALLBACK_1(HelloWorld::menuCloseCallback, this));
    
    //menu总菜单
    auto menu = Menu::create(startItem, closeItem, NULL);
    this->addChild(menu, 1);
    
    //Lambda写法
    auto closeItem = MenuItemImage::create("CloseNormal.png", "CloseSelected.png",
    [&](Ref* sender){
        // your code here
    });
    

    3.按钮(Button)

    #include "ui/CocosGUI.h"。
    auto button = Button::create("normal_image.png", "selected_image.png", "disabled_image.png");
    button->setTitleText("Button Text");
    button->addTouchEventListener([&](Ref* sender, Widget::TouchEventType type){
            switch (type)
            {
                    case ui::Widget::TouchEventType::BEGAN:
                            break;
                    case ui::Widget::TouchEventType::ENDED:
                            std::cout << "Button 1 clicked" << std::endl;
                            break;
                    default:
                            break;
            }
    });
    

    4.复选框(CheckBox)(Toggle开关)

    #include "ui/CocosGUI.h"
    
    auto checkbox = CheckBox::create("check_box_normal.png",
                                     "check_box_normal_press.png",
                                     "check_box_active.png",
                                     "check_box_normal_disable.png",
                                     "check_box_active_disable.png");
    
    checkbox->addTouchEventListener([&](Ref* sender, Widget::TouchEventType type){
            switch (type)
            {
                    case ui::Widget::TouchEventType::BEGAN:
                            break;
                    case ui::Widget::TouchEventType::ENDED:
                            std::cout << "checkbox 1 clicked" << std::endl;
                            break;
                    default:
                            break;
            }
    });
    
    this->addChild(checkbox);
    

    5.进度条(LoadingBar)

    #include "ui/CocosGUI.h"
    //创建进度条
    auto loadingBar = LoadingBar::create("LoadingBarFile.png");
    loadingBar->setDirection(LoadingBar::Direction::RIGHT);
    //设置进度
    loadingBar->setPercent(25);
    //add节点
    this->addChild(loadingBar);
    

    6.文本框(TextField)

    #include "ui/CocosGUI.h"
    
    auto textField = TextField::create("","Arial",30);
    textField->addTouchEventListener([&](Ref* sender, Widget::TouchEventType type){
         std::cout << "editing a TextField" << std::endl;
    });
    
    this->addChild(textField);
    

    七.监听事件

    1.五种类型

    EventListenerTouch - 响应触摸事件
    
    EventListenerKeyboard - 响应键盘事件
    
    EventListenerAcceleration - 响应加速度事件
    
    EventListenMouse - 响应鼠标事件
    
    EventListenerCustom - 响应自定义事件
    

    2.事件的吞没(可做遮罩)

    listener1->setSwallowTouches(true);
    listener1->onTouchBegan = [](Touch* touch, Event* event){
        // your code
        return true;
    };
    

    3.触摸事件

    让我们先了解一下什么是触摸事件,当你触摸移动设备的屏幕时,设备感受到被触摸,了解到被触摸的位置,同时取得触摸到的内容,然后你的触摸被回答。 这就是触摸事件。

    //创建触摸
    auto listener1 = EventListenerTouchOneByOne::create();
    // 触摸开始
    listener1->onTouchBegan = [](Touch* touch, Event* event){
        // your code
        Vec2 point = touch->getLocation();//获取点击位置
        return true; // if you are consuming it
    };
    // 触摸滑动
    listener1->onTouchMoved = [](Touch* touch, Event* event){
        // your code
    };
    // 触摸结束
    listener1->onTouchEnded = [=](Touch* touch, Event* event){
        // your code
    };
    // 添加监听(最重要的一步)
    _eventDispatcher->addEventListenerWithSceneGraphPriority(listener1, this);
    

    4.鼠标事件

    创建鼠标事件监听器:

    //创建事件
    _mouseListener = EventListenerMouse::create();
    //设置不同监听
    _mouseListener->onMouseMove = CC_CALLBACK_1(MouseTest::onMouseMove, this);
    _mouseListener->onMouseUp = CC_CALLBACK_1(MouseTest::onMouseUp, this);
    _mouseListener->onMouseDown = CC_CALLBACK_1(MouseTest::onMouseDown, this);
    
    //绑定监听(最重要一步)
    _eventDispatcher->addEventListenerWithSceneGraphPriority(_mouseListener, this);
    
    //回调函数实现(也可以用匿名函数/Lambda)
    void MouseTest::onMouseDown(Event *event){
    	EventMouse* em = (EventMouse*)event;
    	em->getLocation();//获取鼠标位置
    }
    void MouseTest::onMouseUp(Event *event){}
    void MouseTest::onMouseMove(Event *event){}
    
    

    5.键盘事件

    对于桌面游戏,一般需要通过键盘做一些游戏内的控制,这时你就需要监听键盘事件。

    //创建事件
    auto listener = EventListenerKeyboard::create();
    listener->onKeyPressed = CC_CALLBACK_2(KeyboardTest::onKeyPressed, this);
    listener->onKeyReleased = CC_CALLBACK_2(KeyboardTest::onKeyReleased, this);
    //添加监听
    _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
    
    //实现回调函数
    void KeyboardTest::onKeyPressed(EventKeyboard::KeyCode keyCode, Event* event){}
    
    void KeyboardTest::onKeyReleased(EventKeyboard::KeyCode keyCode, Event* event){}
    

    6.Update事件

    如果需要持续的处理某个事件,那么可以开启一个update

    //开启update
    this->scheduleUpdate();
    void Test::update(float delta)
    {}
    

    八.物理引擎

    当你的需求很简单时,就不要使用物理引擎。比如只需要确定两个对象是否有碰撞,结合使用节点对象的 update 函数和 Rect 对象的 containsPoint(),intersectsRect() 方法可能就足够了。例如:

    void update(float dt)
    {
      auto p = touch->getLocation();
      auto rect1 = this->getBoundingBox();
      auto rect2 = this->getBoundingBox();
      if(rect1.containsPoint(p))
      {
          // do something, intersection
      }
      if(rect1.intersectsRect(rect2))
      {
          // do something, intersection
      }
    }
    

    1.刚体碰撞

    如你要开发一个游戏,一个场景有 100 个精灵对象,需要判断它们互相是否有碰撞,如果使用上诉方法那将非常复杂,同时性能消耗还会严重影响 CPU 的使用率和游戏运行的帧率,这游戏根本没法玩。
    这个时候就需要物理引擎了。

    /*创建物理场景*/
    auto scene = Scene::createWithPhysics();
    //显示物理引擎调试界面 --- 有红框
    scene->getPhysicsWorld()->setDebugDrawMask(PhysicsWorld::DEBUGDRAW_ALL);
    //可把自己的类定义为Layer
    auto layer = MyScene::create();
    scene->addChild(layer);
    
    
    /*创建边框测试*/
    //创建一个物理世界, 大小和屏幕的尺寸相同, 使用默认材质, debug框的宽度为3个像素
    auto body = PhysicsBody::createEdgeBox(visibleSize, PHYSICSBODY_MATERIAL_DEFAULT, 3);
    auto edgeShape = Node::create();//创建一个碰撞图形
    edgeShape->setPhysicsBody(body);//将图形和刚刚创建的世界绑定
    edgeShape->setPosition(visibleSize.width / 2, visibleSize.height / 2);//设置图形的位置在屏幕正中间
    this->addChild(edgeShape);
    
    
    /*创建静态刚体精灵*/
    auto sprite = Sprite::create("HelloWorld.png");
    sprite->setPosition(center);
    this->addChild(sprite);
    //添加静态的刚体
    auto physicsBody = PhysicsBody::createBox(sprite->getContentSize(),
    PhysicsMaterial(0.1f, 1.0f, 0.0f));
    physicsBody->setDynamic(false);
    //设置碰撞层
    physicsBody->setCategoryBitmask(8);//种类
    physicsBody->setCollisionBitmask(16);//碰撞
    physicsBody->setContactTestBitmask(16);//接触
    //把刚体赋给精灵
    sprite->addComponent(physicsBody);
    
    
    /*创建动态刚体精灵*/
    auto sprite = Sprite::create("HelloWorld.png");
    sprite->setPosition(center);
    this->addChild(sprite);
    //添加静态的刚体
    auto physicsBody = PhysicsBody::createBox(sprite->getContentSize(),
    PhysicsMaterial(0.1f, 1.0f, 0.0f));
    physicsBody->setGravityEnable(false);
    //设置碰撞层
    physicsBody->setCategoryBitmask(16);//种类
    physicsBody->setCollisionBitmask(8);//碰撞
    physicsBody->setContactTestBitmask(8);//接触
    //把刚体赋给精灵
    sprite->addComponent(physicsBody);
    
    
    /*添加碰撞事件*/
    auto contactListener = EventListenerPhysicsContact::create();
    contactListener->onContactBegin = [](PhysicsContact& contact) {
    	log("OnCollision");
    	//auto nodeA = contact.getShapeA()->getBody()->getNode();
    	//auto nodeB = contact.getShapeB()->getBody()->getNode();
    	return true;
    };
    //绑定监听事件
    _eventDispatcher->addEventListenerWithSceneGraphPriority(contactListener, this);
    

    2.查询

    • 1.点查询
    • 2.射线查询

    九.音乐和音效

    你的游戏肯定会需要音乐和音效!Cocos2d-x 提供了一个 SimpleAudioEngine 类支持游戏内的音乐和音效。它可以被用来增加背景音乐,控制游戏音效。
    SimpleAudioEngine 是一个共享的单例对象,

    #include "SimpleAudioEngine.h"
    using namespace CocosDenshion;
    
    // 播放背景音乐
    auto audio = SimpleAudioEngine::getInstance();
    audio->playBackgroundMusic("mymusic.mp3", loop);
    // 暂停/停止/恢复 背景音乐
    audio->pauseBackgroundMusic();
    audio->stopBackgroundMusic();
    audio->resumeBackgroundMusic();
    
    //播放音效
    audio->playEffect("myEffect.mp3", false, 1.0f, 1.0f, 1.0f);
    // 暂停/停止/恢复 音效
    audio->pauseEffect();audio->stopEffect();audio->resumeEffect();
    // 暂停/停止/恢复 所有音效
    audio->pauseAllEffects();audio->stopAllEffects();audio->resumeAllEffects();
    
    展开全文
  • 以下和以后的学习日记和案列仅代表自己的观点和学习中的理解程度,有错误敬请理解,相互学习,相互成长,坚持写日记也是加深学习的印象,就怕眼高手低...cocos2dx 游戏的发展历史:https://blog.csdn.net/gzylongxi...

    以下和以后的学习日记和案列仅代表自己的观点和学习中的理解程度,有错误敬请理解,相互学习,相互成长,坚持写日记也是加深学习的印象,就怕眼高手低,我吃亏过来的,不要怕麻烦,前期的基础知识非常的重要!!!!!

    学习一个新知识和接触一个新的游戏引擎,首先得了解它的历史和发展历程。

    所谓磨刀不误砍柴工嘛!

    cocos2dx 游戏的发展历史:https://blog.csdn.net/gzylongxingtianxia/article/details/49885819

    cocos2dx 英文官网:http://www.cocos2d-x.org/

    cocos2dx 中文社区:http://www.cocos.com/

    安装和配置开发环境可以查大神们的博客和官网,我只会写我是怎么去找寻和实现的办法,还有,我尽可能的写清楚我不明白和怎么花时间去弄明白的地方,毕竟我也是小白一个,就是以我自己的见解写的日记,希望看到文章的童鞋们多多理解,用砖拍死我吧!

    废话不多说,开工了!

    首先,英文不好,都在中文社区弄的。

    下载cocos2dx 3.17版本到自己的电脑,我是window 10,土豪请配置mac电脑,运行程序确实快很多,Xcode也很好用,先流流口水,买不起!

    把下载的包解压到电脑并进入bin目录,看到cocos.py文件就是创建工程的入口函数,了解了历程的朋友们会知道,cocos前期是基与python写的,所以底层脚本用的是python。所以我们也必须在电脑上安装python的运行环境,我这里不赘述python的安装了,记得安装python2.x的版本,给个链接吧:https://www.cnblogs.com/lizm166/p/8092719.html 

    这里又不得不对Mac流口水了,python环境都是自带有的哦!

     

    现在,我们准备创建一个cocos项目进去运行看下来,再创建项目之前,我们还要装一个Visual Studio ,我装的是2017版的,cocos官方是建议安装15版的,我没管那么多了。

    要创建项目,需要打开windows命令窗口:

    我这里说明下我的两中创建工程的方式,选一个自己觉得方便的吧

    (1)在打开的bin目录下按住shift点击右键,在此处打开powershell窗口

     在此处输入创建项目的命令,命令可以在官网的文档里查和在这里输入 cocos --help 看帮助,和cocos --new

     

    开始创建游戏的命令:

    cocos new PopStar -p com.gongsi.PopStar -l cpp -d d:\cocos

    cocos :命令入口

    new:创建项目的关键字

    PopStar:游戏名称

    -p com.gongsi.PopStar:-p 后面接的是以公司网址的包名

    -l cpp:-l 后面接的是语言   (cpp即c++、- l lua  、-l  js等)

    --d d:\cocos\lianxi:-d后面接的是项目存放的地址

    这就是在创建项目中...............
     

    (2)第二种就是你把D:\cocos\cocos2d-x-3.17\tools\cocos2d-console\bin加入到电脑的环境变量中去

     

    上面同样的创建项目可以换成这样,最后的. 意思就是把项目创建在当前目录下

    习惯那种方式就用那种吧,毕竟创建项目用的不是很频繁,前期学习还是很频繁的哦

    项目创建好了,我们去看看项目吧

    点击 这个文件进入项目吧

    什么都不用管,点击运行看看效果呗

    今天就说这么多,下个日记说下对项目的初始demo说下自己的理解,谢谢您的阅读!

    展开全文
  • Cocos2dx零基础从入门到精通

    万次阅读 2017-11-10 13:55:28
    需要Cocos2d-x教学视频的可加微信(Wiki-_-_-_-) Cocos2d-x是当下最热门的开源游戏引擎,游戏开发快速、简易、功能强大。 其中Cocos2d-x核心优势在于允许开发人员利用C++、Lua及Javascript来进行跨平台部署,覆盖...

     

    需要Cocos2d-x教学视频的可加微信(Wiki-_-_-_-)

    Cocos2d-x是当下最热门的开源游戏引擎,游戏开发快速、简易、功能强大。
    其中Cocos2d-x核心优势在于允许开发人员利用C++、Lua及Javascript来进行跨平台部署,覆盖平台包括iOS、Android、Windows Phone、Windows, Mac OSX 3及Tizen等等,省事省力省成本。 
    Cocos2d-x用户不仅包括个人开发者和游戏开发爱好者,还包括许多知名大公司如Zynga、Wooga、Gamevil、Glu、GREE、Konami、TinyCo、HandyGames、IGG及Disney Mobile等。截止2013年9月,全球基于Cocos2d-x引擎的游戏下载量高达逾15亿,其中许多还占据苹果应用商店(AppStore)和谷歌应用商店(Google Play)排行榜。同时许多公司如触控、谷歌、微软、ARM、英特尔的工程师在Cocos2d-x领域也非常活跃。

    通过看视频进行学习的优点是什么?

    一,看视频相比看文章、看书属于被动学习而非主动学习,比较省力和快。
           二,看视频相对目的明确,有利于明确重点。
           三,极其适合快速入门,特别是一些比较晦涩难懂的知识点,毕竟有句话说得好,师傅领进门,修行靠个人。嫌视频慢的话可以调两倍速,然后跳着看。另外,有部分视频会教你一些套路,这是书里学不到的。

     

    展开全文
  • Cocos2dx游戏源代码《萝莉快跑》

    千次下载 热门讨论 2013-11-29 21:51:32
    Cocos2dx游戏源代码《萝莉快跑》 如果Cocos2dx使用2.2版本,可能需要修改加载声音资源类。十分简单。真心想学的人都能正确运行的。 参考http://blog.csdn.net/iamlazybone/article/category/1722153
  • Cocos2dx游戏源码合集(BY懒骨头+持续更新+2014.03.17)

    万次阅读 多人点赞 2014-02-21 14:14:15
    《萝莉快跑》 类别:跑酷 文档:http://blog.csdn.net/iamlazybone/article/details/17012117 下载:...环境:cocos2dx2.2 ===============================================

    懒骨头(http://blog.csdn.net/iamlazybone QQ:124774397 青岛)

    有很多同学问源码,干脆出个索引贴,以后持续更新 

    ===============================================================

    -1:《奇怪的大冒险》源码学习(2014.03.17


    类别:极简手绘,类似变态人生大冒险

    文档:http://blog.csdn.net/iamlazybone/article/details/20357391

    源码:http://download.csdn.net/detail/iamlazybone/7032991

    环境:vs2013+cocos2dx 2.2

    声明:源码是网上下载,原作者是熊同学。

    ===============================================================

    0《忍者飞镖打幽灵》(名字别扭)


    类别: 初次接触cocos2dx的一个demo

    文档: http://blog.csdn.net/iamlazybone/article/details/16891891

    源码: http://download.csdn.net/detail/iamlazybone/7058241

    环境: cocos2dx2.2+vs2012


    ===============================================================

    1《萝莉快跑》


    原作者:bill_man http://my.csdn.net/bill_man 

    声明:《萝莉快跑》《喵汪大战》两个demo的原作者bill_man ,应要求已删除

    类别: 跑酷

    文档: http://blog.csdn.net/iamlazybone/article/details/17012117

    源码: 应要求已删除

    环境: cocos2dx2.2

    ===============================================================

    2《战神传说》 


    类别: 飞行射击

    文档: http://blog.csdn.net/iamlazybone/article/details/17125973

    http://blog.csdn.net/iamlazybone/article/details/17191539

    http://blog.csdn.net/iamlazybone/article/details/17200579

    http://blog.csdn.net/iamlazybone/article/details/17228403

    源码: http://download.csdn.net/detail/iamlazybone/6677983

    环境: cocos2dx2.2 vs2012

    ===============================================================

    3《横板拳击游戏》


    类别: 横板拳击

    文档: http://blog.csdn.net/iamlazybone/article/details/17385209

    http://blog.csdn.net/iamlazybone/article/details/17422301

    http://blog.csdn.net/iamlazybone/article/details/17455475

    http://blog.csdn.net/iamlazybone/article/details/17565595

    源码: http://download.csdn.net/detail/iamlazybone/6731511

    环境: cocos2dx2.2 vs2012

    ===============================================================

    4《喵汪大战》


    原作者:bill_man  http://my.csdn.net/bill_man 

    声明:《萝莉快跑》《喵汪大战》两个demo的原作者bill_man ,应要求已删除

    类别: 飞行射击

    文档: http://blog.csdn.net/iamlazybone/article/details/17797887

    http://blog.csdn.net/iamlazybone/article/details/17926133

    源码: 应要求已删除

    环境: cocos2dx2.2 vs2012

    ===============================================================

    5《城市跑酷》


    类别: 跑酷

    文档: http://blog.csdn.net/iamlazybone/article/details/18010271

    源码: http://download.csdn.net/detail/iamlazybone/6825921

    环境: cocos2dx2.2 vs2012

    ===============================================================

    6《Fapply Bird》


    类型: 休闲

    文档: http://blog.csdn.net/iamlazybone/article/details/19046377

    源码: http://download.csdn.net/detail/iamlazybone/6914353

    环境: cocos2dx3.0beta2  vs2013

    =============================================================== 

    7仿《王者之剑》


    类型: 横板ARPG

    文档: http://blog.csdn.net/iamlazybone/article/details/19154799

    源码: http://download.csdn.net/detail/iamlazybone/6931721

    环境: vs2013+cocos2dx3.0beta2

    ===============================================================


    持续更新...


    手上也攥了几个小demo

    过几天一个个消化掉!

      

    只要心态好,故事到最后一定是好的结局 :)

    展开全文
  • cocos2dx3.4开发环境搭建详解(2

    千次阅读 2015-12-01 09:56:17
    本文主要介绍新建cocos2dx lua项目,运行新建的cocos2dx lua项目,并且解决一些新建和运行项目过程中可能会遇到的问题。 版本仍然是cocos2dx3.4,本机配置仍然是64位的win7系统。
  • 快速搭建Cocos2dx for MAC开发环境

    万次阅读 2016-10-04 21:56:36
    我的环境: MAC OS X EI Capitan 10.11.6 已经装好了XCode 系统安装过python 2.7.12 ...Step 1)去cocos2dx官网:http://www.cocos2d-x.org ,下载cocos2dx for mac包 ,然后把它放到你喜欢的位置上。 Step 2
  • Cocos2dx 3.17——第一次使用初级篇

    千次阅读 2018-11-01 17:34:58
    然后运行Cocos2dx3.17里面的setup.py看看环境是否都弄好了  这些ndk、sdk、ant都是要下载的 3.环境配置好后重启一波就能创建工程了 创建工程的命令: cocos new PopStar -p ...
  • cocos2dX打包图文详解

    千次阅读 2018-12-11 09:56:35
    (2)在编译的时候,请关闭所有正在运行的程序,以确保有足够的内存编译你的安卓项目。 第一步:安装jdk,双击安装,接下来就是下一步。。。,完成! Android-ndk: ...
  • 虽然现在Cocos2dx早已去到3.x的稳定版本,但之所以选用Cocos2dx 2.x版本,主要是这方面的资料比较多,本来搞Cocos2dx的人就不多了,搞了也没几个人写写编程记录,再去毫无资料只有一堆难以看懂的官方文档的
  • 前言 本来我也是直接百度的,看看有没有现成的方法,然而看了几篇,没有能直接用的...然后是我的运行环境:win10+vs2017+cocos2d-x-3.17(之后可能会补上mac版的) DrangonBones项目源码下载地址: https://githu...
  • 前言  反正是作死,新项目选择了cocos2dx+lua,ui编辑器用的是cocoscreator,还是义无反顾的使用。然后现在回想起来,真心是一路坑。但是,在使用的时候,触控的大神已经能支持导出绝大部分的功能了。我也只能在...
  • jni详解介绍JNI是JVM实现中的一部分,因此Native语言和Java代码都运行在JVM的宿主环境。JNI的出现使得开发者既可以利用Java语言跨平台、类库丰 富、开发便捷等特点,又可以利用Native语言的高效。...
  • cocos2dx面试题干货】--2020年度最新cocos2dx面试干货(引擎篇 ) 大家好,我是Lampard~~ 经过春招一番艰苦奋战之后,我终于是进入了心仪的公司。 今天给大家分享一下我在之前精心准备的一套面试知识。 ...
  • 一、在游戏中经常用到Spine动画,在cocos2dx 3.10之前创建Spine动画可以采用1、第一种方式auto spine = SkeletonAnimation::createWithFile("spine.json", "spine.atlas");但是当json文件过大时每次解析会消耗大量...
  • cocos2dx 3.10 读取加密压缩ZIP文件

    千次阅读 2016-05-06 10:18:44
    0,废话 最近需要把资源打包到压缩文件并加密,一开始是上网搜索怎么读取...因为zlib是跨平台的,我也去下载了zlib库想着自己实现,可把unzip.cpp加入到自己项目后一编译,发现冲突了,咦,cocos2dx已经包含了unzip.c
  • cocos2dx3.x使用socket创建服务端和客户端

    千次下载 热门讨论 2015-02-20 11:32:45
    http://blog.csdn.net/ctxdecs/article/details/43888399
  • 在正常创建cocos2dx工程之后 并且已经在vs2010/12上完场代码的bian'ji
  • 这里我将开始写曾经学过的cocos2dx的表层教程。 这开篇可能我要多说几句,希望不要嫌弃哈~毕竟每一个引擎背后都有一些不为人知的故事,很值得缅怀。
1 2 3 4 5 ... 20
收藏数 39,955
精华内容 15,982
关键字:

cocos2dx