cocos2d_cocos2d-x - CSDN
cocos2d 订阅
cocos2d [1]  是一个基于MIT协议的开源框架,用于构建游戏、应用程序和其他图形界面交互应用。可以让你在创建自己的多平台游戏时节省很多的时间。Cocos2D也拥有几个主要版本,包括Cocos2D-iPhone、Cocos2D-X,以及被社区普遍看好的Cocos2D-HTML5和JavaScript bindings for Cocos2D-X。同时也拥有了非常优秀的编辑器(独立编辑器),例如SpriteSheet Editors、Particle Editors 、Font Editors 、 Tilemap Editors。另外,2012年发布的CocoStudio工具集是开源游戏引擎Cocos2d-x开发团队官方推出的游戏开发工具,目前已经进入稳定版。CocoStudio吸取了他们自己在游戏制作中的经验,为移动游戏开发者和团队量身定做,旨在降低游戏开发的门槛,提高开发效率,同时也为Cocos2D-X的进一步发展打下基础。 展开全文
cocos2d [1]  是一个基于MIT协议的开源框架,用于构建游戏、应用程序和其他图形界面交互应用。可以让你在创建自己的多平台游戏时节省很多的时间。Cocos2D也拥有几个主要版本,包括Cocos2D-iPhone、Cocos2D-X,以及被社区普遍看好的Cocos2D-HTML5和JavaScript bindings for Cocos2D-X。同时也拥有了非常优秀的编辑器(独立编辑器),例如SpriteSheet Editors、Particle Editors 、Font Editors 、 Tilemap Editors。另外,2012年发布的CocoStudio工具集是开源游戏引擎Cocos2d-x开发团队官方推出的游戏开发工具,目前已经进入稳定版。CocoStudio吸取了他们自己在游戏制作中的经验,为移动游戏开发者和团队量身定做,旨在降低游戏开发的门槛,提高开发效率,同时也为Cocos2D-X的进一步发展打下基础。
信息
定    义
是一个基于MIT协议的开源框架
特    点
易用、高效、灵活、免费、社区支持
开发者
Ricardo和朋友
用    途
构建游戏、程序和图形交互应用
中文名
cocos2d
版本分类
Cocos2D-iPhone、Cocos2D-X等
cocos2dCocos2D特点
易于使用:游戏开发者可以把关注焦点放在游戏设置本身,而不必消耗大量时间学习晦涩难懂的OpenGL ES,此外,Cocos2D还提供了大量的规范。高效:Cocos2D基于OpenGL ES进行图形渲染,从而让移动设备的GPU性能发挥到极致。灵活:方便扩展,易于集成第三方库。免费:基于MIT协议的免费开源框架,用户可以放心使用,不用担心商业授权的问题。社区支持:关心Cocos2D的开发者自发建立了多个社区组织,可以方便的查阅各类技术资料。
收起全文
  • Cocos2d-x 游戏开发详解

    2019-12-26 10:31:24
    本课程通过20章125节课详细讲述了Cocos2d-x开发的详细过程,内容包括:基础编程:开发环境搭建、核心类、标签、菜单、精灵、事件处理、动作、定时器、GUI、数据结构;高级开发:音效、网络编程、数据存储、Tiled Map...
  • 本课程将帮助广大Cocos2d-x学员了解如何使用Cocos2d-x开发一款相对简单的射击类游戏。学员将会了解开发一款完整游戏的基本步骤,并学会如何将《从零开始掌握Cocos2d-x 3.x》中的知识转化为实际的游戏。学员将从这款...
  • Cocos2d开发系列 一

    2018-11-06 12:28:23
    Cocos2d开发系列 一

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

    也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                   

     

    Cocos2d是一个比较流行的iphone游戏开发框架,据说在AppStore 上已有超过 100 个游戏是基亍 Cocos2D-iPhone。其中 3 个由此 迚入过 TOP 10 的排名。其中的 StickWars 更是曾排名第一。现在,让我们来开始Cocos2d的学习之旅吧!

     

    一、安装下载

    Cocos2d下载地址:http://code.google.com/p/cocos2d-iphone/downloads/list

    当前最新版本为1.0。本教程选用的是稳定版本0.99.5。

    下载文件为targ.gz格式,将其解压到某个目录下,打开该目录,找到install-templates.sh文件,这个就是Cocos2d的安装脚本。

    你可以直接在终端里运行这个脚本进行安装,但如果你的Xcode没有安装在默认目录 下,则你需要在命令中添加一个参数。

    例如,你的Mac中可能同时存在一个Xcode版本(3.2.5),安装目录为:/Users/$yourname$/Developer,如果你想将Cocos2d安装到这个Xcode(3.2.5),则需要使用用命令:

    ./install-templates.sh  /Users/$yourname$/Developer

    来进行安装。

    安装完毕,你可以打开Xcode,新建Project,你会在UserTemplates目录下看到多了4个Cocos2d Application模板(如果是0.99版本,则只有3个模板):

     

    二、新建 cocos2dApplications项目

    新建一个cocos2dApplications项目,编译运行效果如下:

     

    打开HelloWorldScene.h,可以看到如下代码:

    #import "cocos2d.h"

     

    // HelloWorld Layer

    @interface HelloWorld : CCLayer

    {

    }

     

    // returns a Scenethat contains the HelloWorld as the only child

    +(id) scene;

     

    @end

    首先,import指令导入了cocos2d.h,在这个.h文件中,已经包含(import)了cocos2d的所有类。因此我们导入了cocos2d.h后,就不需要再一个个导入要用到的cocos2d类了。

    其次,HelloWorldScene.h中定义了一个CCLayer子类。CCLayer即所谓“层”的概念。层是一个容器的概念,cocos2d在层上放置多个动画元素,如文字、标签、图片、菜单,此外层接收触摸和加速器事件。

    第三,定义了一个静态方法,返回了一个——Scene,这个Scene实际上包含了一个层——HelloWorld,这是一个不错的实例化方法。Coco2d中Scene的概念,类似于电影中“场景”的概念--由于受舞台空间或屏幕空间的限制,一个情节往往只能在固定的空间环境中展现,而电影往往是由许多个情节构成, 随着剧情的发展,场景也需要改变,新的场景需要产生。所以电影就会在一幕幕场景中进行切换 ,这种切换被称为“转场”。

     切换到HelloWorldScene.m :

    #import "HelloWorldScene.h"

     

    // HelloWorldimplementation

    @implementation HelloWorld

     

    上面导入了HelloWorldScene.h并实现了HelloWorld类。O-C中,文件名不见得需要和类名一致。

    +(id) scene

    {

    ……

    }

    这个方法就不介绍了,和前面说过的一样。

    -(id) init

    {

    if( (self=[super init] )) {

    CCLabelTTF *label = [CCLabelTTF labelWithString:@"HelloWorld" fontName:@"MarkerFelt" fontSize:64];

     

    CGSize size = [[CCDirector sharedDirector] winSize];

    label.position =  ccp(size.width /2 , size.height/2 );

    [self addChild: label];

    }

    return self;

    }

    init方法中,创建了一个标签 CCLabelTTF (以前是CCLabel)并让他居中。ccp函数是CGPointMake函数的缩写。

     

    接下来,看一下应用程序委托,如果你有过Cocoa编程的经验,那么会发现这就是一个UIApplicationDelegate,它的主要方法是 applicationDidFinishLaunching:(UIApplication*)application :。

    ,并将EAGLView绑定到

    首先取得Director——导演。导演是cocos2d程序的统筹者和协调者,负责整个应用程序的主窗口的创建,以及每个场景在时间线上的先后顺序。

    CCDirector *director = [CCDirector sharedDirector];

    然后创建EAGLView实例。 EAGLView 派生亍类 UIView, 苹果公司用它来实现 OpenGL 输出支持,以支持OpenGLES 编程:

     

    EAGLView *glView = [EAGLView viewWithFrame:[window bounds]

       pixelFormat:kEAGLColorFormatRGB565

       depthFormat:0

    ];

    并将EAGLView绑定到导演的openGLView属性:

    [director setOpenGLView:glView];

    设置横屏:

    setDeviceOrientation:kCCDeviceOrientationLandscapeLeft];

    设置帧间隔(尚未实现):

    [director setAnimationInterval:1.0/60];

    设置帧率显示,即屏幕左下角不断变化的数字:

    [director setDisplayFPS:YES];

    设置渲染格式位32位RGB:

    [CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_RGBA8888];

    移除闪屏,即一开始的那个coco2d Logo标志的屏幕:

    [self removeStartupFlicker];

    显示HelloWorld文字标签的场景:

    [[CCDirector sharedDirector] runWithScene: [HelloWorld scene]];

    }

     

     

     

     

     

     

               

    给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

    这里写图片描述
    展开全文
  • Cocos2d开发系列(一)

    2011-04-07 15:40:00
    Cocos2d是一个比较流行的iphone游戏开发框架,据说在 AppStore 上已有超过 100 个游戏是基亍 Cocos2D-iPhone。其中 3 个由此 迚入过 TOP 10 的排名。其中的 StickWars 更是曾排名第一。

     

    Cocos2d是一个比较流行的iphone游戏开发框架,据说在 AppStore 上已有超过 100 个游戏是基亍 Cocos2D-iPhone。其中 3 个由此 迚入过 TOP 10 的排名。其中的 StickWars 更是曾排名第一。 现在,让我们来开始Cocos2d的学习之旅吧!

     

    一、安装下载

    Cocos2d下载地址: http://code.google.com/p/cocos2d-iphone/downloads/list

    当前最新版本为1.0。本教程选用的是稳定版本0.99.5。

    下载文件为targ.gz格式,将其解压到某个目录下,打开该目录,找到 install-templates.sh 文件,这个就是Cocos2d的安装脚本。

    你可以直接在终端里运行这个脚本进行安装,但如果你的Xcode没有安装在默认目录 下,则你需要在命令中添加一个参数。

    例如,你的Mac中可能同时存在一个Xcode版本(3.2.5),安装目录为:/Users/$yourname$/Developer,如果你想将Cocos2d安装到这个Xcode(3.2.5),则需要使用用命令:

    ./install-templates.sh   /Users/$yourname$/Developer

    来进行安装。

    安装完毕,你可以打开Xcode,新建Project,你会在User Templates目录下看到多了4个Cocos2d Application模板(如果是0.99版本,则只有3个模板):

     

    二、新建 cocos2d Applications 项目

    新建一个 cocos2d Applications 项目,编译运行效果如下:

     

    打开HelloWorldScene.h,可以看到如下代码:

    #import "cocos2d.h"

     

    // HelloWorld Layer

    @interface HelloWorld : CCLayer

    {

    }

     

    // returns a Scene that contains the HelloWorld as the only child

    +( id ) scene;

     

    @end

    首先,import指令导入了cocos2d.h,在这个.h文件中,已经包含(import)了cocos2d的所有类。因此我们导入了cocos2d.h后,就不需要再一个个导入要用到的cocos2d类了。

    其次,HelloWorldScene.h中定义了一个CCLayer子类。CCLayer即所谓“层”的概念。层是一个容器的概念,cocos2d在层上放置多个动画元素,如文字、标签、图片、菜单,此外层接收触摸和加速器事件。

    第三,定义了一个静态方法,返回了一个——Scene,这个Scene实际上包含了一个层——HelloWorld,这是一个不错的实例化方法。Coco2d中Scene的概念,类似于电影中“场景”的概念--由于受舞台空间或屏幕空间的限制,一个情节往往只能在固定的空间环境中展现,而电影往往是由许多个情节构成 , 随着剧情的发展,场景也需要改变,新的场景需要产生。所以电影就会在一幕幕场景中进行切换 ,这种切换被称为“转场”。

      切换到HelloWorldScene.m :

    #import "HelloWorldScene.h"

     

    // HelloWorld implementation

    @implementation HelloWorld

     

    上面导入了HelloWorldScene.h并实现了 HelloWorld类。O-C中,文件名不见得需要和类名一致。

    +( id ) scene

    {

    ……

    }

    这个方法就不介绍了,和前面说过的一样。

    -( id ) init

    {

    if ( ( self =[ super init ] )) {

    CCLabelTTF *label = [ CCLabelTTF labelWithString : @"Hello World" fontName : @"Marker Felt" fontSize : 64 ];

     

    CGSize size = [[ CCDirector sharedDirector ] winSize ];

    label. position =  ccp ( size. width / 2 , size. height / 2 );

    [ self addChild : label];

    }

    return self ;

    }

    init方法中,创建了一个标签 CCLabelTTF (以前是CCLabel)并让他居中。ccp函数是 CGPointMake函数的缩写。

     

    接下来,看一下应用程序委托,如果你有过Cocoa编程的经验,那么会发现这就是一个UIApplicationDelegate,它的主要方法是 applicationDidFinishLaunching:( UIApplication *)application :。

    ,并将EAGLView绑定到

    首先取得Director——导演。导演是cocos2d程序的统筹者和协调者,负责整个应用程序的主窗口的创建,以及每个场景在时间线上的先后顺序。

    CCDirector *director = [ CCDirector sharedDirector ];

    然后创建EAGLView实例。 EAGLView 派生亍类 UIView, 苹果公司用它来实现 OpenGL 输出支持,以支持OpenGL ES 编程:

     

    EAGLView *glView = [EAGLView viewWithFrame:[ window bounds ]

       pixelFormat:kEAGLColorFormatRGB565

       depthFormat: 0

    ];

    并将EAGLView绑定到导演的openGLView属性:

    [director setOpenGLView :glView];

    设置横屏:

    setDeviceOrientation:kCCDeviceOrientationLandscapeLeft];

    设置帧间隔(尚未实现):

    [director setAnimationInterval : 1.0 / 60 ];

    设置帧率显示,即屏幕左下角不断变化的数字:

    [director setDisplayFPS : YES ];

    设置渲染格式位32位RGB:

    [ CCTexture2D setDefaultAlphaPixelFormat : kCCTexture2DPixelFormat_RGBA8888 ];

    移除闪屏,即一开始的那个coco2d Logo标志的屏幕:

    [ self removeStartupFlicker ];

    显示HelloWorld文字标签的场景:

    [[ CCDirector sharedDirector ] runWithScene : [ HelloWorld scene ]];

    }

     

     

     

     

     

     

    展开全文
  • cocos2d-js是cocos2d-x的JavaScript版本,真正跨全平台的游戏引擎,采用原生JavaScript语言,可发布到包括Web平台,iOS,Android,Windows Phone
    原文地址为:cocos2d-js 入门 (主要是HTML5)

    cocos2d-js是cocos2d-x的JavaScript版本,真正跨全平台的游戏引擎,采用原生JavaScript语言,可发布到包括Web平台,iOS,Android,Windows Phone8,Mac,Windows等平台。

    利用cocos2d-js开发HTML5游戏/动画,我们可以通过SDK也可以直接使用js类库:

    l SDK下载:http://cn.cocos2d-x.org/download/

    l js类库:http://www.cocos2d-x.org/filecenter/jsbuilder/

     

    先说说SDK的开发步骤:

    1、 安装python

    2、 解压SDK,运行setup.py

    3、 运行cmd,新建cocos2d-js项目:cocos new –l js project_name

    4、 使用webStorm等IDE打开项目目录,新建的项目已经有现成HelloWorld例子

    5、 了解一下main.js的说明(关于project.json),然后打开resource.js和app.js阅读代码

    6、 在app.js中正式开始自己的代码编写。当然,这里可以增加新的js文件,需要修改project.json。

     

    再说说js类库的开发步骤:

    1、 下载类库

    2、 新建HTML页面,引入相应类库

    3、 在onload之后,编写cocos2d-js代码,从cc.game.run()开始。入口代码其实跟SDK开发方式的main.js一样。这里更推荐使用SDK方式,因为可以通过阅读源代码获取API的使用说明。

    开始cocos2d-js开发前,需要洗洗脑,知道cocos2d-js的平面坐标情况。这跟HTML和canvas的布局都不一样。

    wps_clip_image-10616

    在cocos2d-js游戏中,画面的左下角是(0,0),x从左往右递增,而y是从下往上递增的,跟数学的二维坐标系一致。

    Cocos2d-js框架把游戏拆分为很多个场景,当玩家在不同界面切换的时候,框架实际上就是让游戏画面在不同场景中切换。跟Flash一样,cocos2d-js也有最基本的元素——节点Node。节点可以包含子节点,形成树形结构:

    wps_clip_image-1073

    然后,Layer、Sprite继承了节点,实现了更多功能,例如Layer用于表示一个面板一个层,Sprite精灵用于加载图片表示人物。而场景本身也是节点,所以场景中可以添加层,层中可以添加层,也可以添加精灵。

     

    接着基于刚新建的HelloWorld,做一个简单的例子。

     

    首先解释一下main.js几行代码。

    cc.game.onStart = function(){

    cc.view.adjustViewPort(
    true); //设置html5的viewport meta属性

    cc.view.setDesignResolutionSize(
    800, 800, cc.ResolutionPolicy.SHOW_ALL); //设置画面尺寸和适配规则

    cc.view.resizeWithBrowserSize(
    true); //设置是否跟随浏览器窗口变化

    //load resources

    cc.LoaderScene.preload(g_resources,
    function () {

    cc.director.runScene(
    new GameScene());

    },
    this);

    };

    cc.game.run();
    //游戏启动

     

    接着修改app.js:

    var GameLayer = cc.Layer.extend({

    ctor:
    function () {

    this._super();

    var size = cc.winSize;

    //加载背景图

    var bg = new cc.Sprite("res/bg.jpg");

    this.addChild(bg, 1);

    bg.x
    = size.width/2;

    bg.y
    = size.height/2;

    //加载5个小人,不断做旋转和放缩

    for (var i = 0; i < 5; i++) {

    var man = new cc.Sprite("res/grossini.png");

    man.runAction(cc.spawn(cc.rotateBy(
    1, 360, 360), cc.sequence(cc.scaleTo(1, 2), cc.scaleTo(1, 1))).repeatForever());

    this.addChild(man, 2);

    man.x
    = size.width*Math.random();

    man.y
    = size.height*Math.random();

    }

    //加载5个小人,不断做14帧的动画播放

    for (var j = 0; j < 5; j++) {

    var man = new cc.Sprite();

    var animation = new cc.Animation();

    for (var i = 1; i <= 14; i++) {

    animation.addSpriteFrameWithFile(
    "res/grossini_dance_" + (i < 10 ? ("0" + i) : i) + ".png");

    }

    animation.setDelayPerUnit(
    1 / 7); //控制动画播放频率

    man.runAction(cc.animate(animation).repeatForever());

    man.x
    = size.width*Math.random();

    man.y
    = size.height*Math.random();

    this.addChild(man, 3);

    }

    return true;

    }

    });

    var GameScene = cc.Scene.extend({

    onEnter:
    function () {

    this._super();

    var layer = new GameLayer();

    this.addChild(layer);

    }

    });

     

    利用Webstorm的服务器功能,右击index.html使用chrome运行:

    wps_clip_image-14031

    可以看到一堆小人:

    wps_clip_image-10315

    通过这个简单例子,我们对cocos2d-js制作HTML5有了初步印象。后续就可以继续学习官方SDK中附带的samples了,里边的js-tests项目中包含了几乎全部cocos2d-js功能的实例程序,例如:定时器、精灵动作、帧动画、骨骼动画、粒子系统、界面编辑器等等。

     

     

    后边,笔者把原来starling的小游戏Hungry hero改造一下,使用cocos2d-js重新实现。这是一个跑酷游戏,玩家需要控制超人不断吃食物,同时避开障碍物。

    wps_clip_image-709wps_clip_image-17852

    演示地址:

    http://kenkozheng.github.io/cocos/hungry_hero/index.html

    代码地址:

    https://github.com/kenkozheng/cocos2d-js/tree/master/hungry_hero

    游戏中使用到:

    1、 基本:鼠标事件、帧动画、声音(cc.audioEngine)

    2、 平行背景(自行实现)

    3、 对象池(cc.pool)

    4、 粒子系统(cc.ParticleSystem)

    5、 位图字体(cc.LabelBMFont)

    6、 批量渲染层(cc.SpriteBatchNode)

    具体的每个知识点就不在这里详细介绍了,具体可以搜索官方SDK samples中的例子。


    转载请注明本文地址:cocos2d-js 入门 (主要是HTML5)
    展开全文
  • cocos2d-x-2.2.1下载,不多说。或者可以下载另一个资源 cocos引擎老版本集合(cocos2d-x-2.2.1 - 3.5) http://download.csdn.net/download/crazymagicdc/9982656
  • 学了这么久Cocos2d-X,今天终于可以做出一个简单的小游戏了,游戏非常简单,通过菜单项控制精灵运动 在做游戏前,先学一个新概念 调度器(scheduler): Cocos2d-x调度器为游戏提供定时事件和定时调用服务。所有Node...

    学了这么久Cocos2d-X,今天终于可以做出一个简单的小游戏了,游戏非常简单,通过菜单项控制精灵运动

    在做游戏前,先学一个新概念

    调度器(scheduler):

    Cocos2d-x调度器为游戏提供定时事件和定时调用服务。所有Node对象都知道如何调度和取消调度事件,使用调度器有几个好处:

    1. 每当Node不再可见或已从场景中移除时,调度器会停止。
    2. Cocos2d-x暂停时,调度器也会停止。当Cocos2d-x重新开始时,调度器也会自动继续启动。
    3. Cocos2d-x封装了一个供各种不同平台使用的调度器,使用此调度器你不用关心和跟踪你所设定的定时对象的销毁和停止,以及崩溃的风险。


    使用调度器时用到的一些函数:

    // 让帧循环调用this->update(float dt)函数
     // scheduleUpdate(); 

    // 让帧循环去调用制定的函数,时间还是1/60秒
     // schedule(schedule_selector(T19Update::MyScheduleFunc));

     // 定时器,每隔2秒调用T19Update::MyScheduleFunc函数
     // schedule(schedule_selector(T19Update::MyScheduleFunc), 2.0f);

     // 有限次数的定时器,当次数定义得很大时,也认为是无限的,实际次数是制定参数的+1
     schedule(schedule_selector(T19Update::MyScheduleFunc), 1.0f, 3, 2.0f);

     // 只调度一次的定时器
     // scheduleOnce(schedule_selector(T19Update::MyScheduleFunc), 5.0f);

    // 停止一个以参数为回调函数的定时器
     unschedule(schedule_selector(T19Update::MyScheduleFunc));

     // 停止update调度
     unscheduleUpdate();

     // 停止所有的调度
     unscheduleAllSelectors();


    熟悉了调度器的概念后就开始我们今天的重头戏,一个简单的游戏

    首先在工程目录下的Resource文件中添加一张小球的图片


    然后定义一个Update类

    在Update.h类中添加下面的代码

    #ifndef _Update_H_
    #define _Update_H_
    
    #include "cocos2d.h"
    USING_NS_CC;
    
    class Update : public CCLayer
    {
    public:
        static CCScene* scene();
    
        CREATE_FUNC(Update);
    
        bool init();
    
        void update(float dt);
    
        CCSprite* _sprite;
    
        void Handle(CCObject* sender);
    
        //表示方向
        int _direction;
    
        //窗口的大小
        CCSize winSize;
    };
    
    #endif
    
    

    在Update.cpp中添加下面的代码

    #include "Update.h"
    
    CCScene* Update::scene()
    {
        CCScene* s = CCScene::create();
    
        Update* layer = Update::create();
    
        s->addChild(layer);
    
        return s;
    }
    
    bool Update::init()
    {
        //初始化父类
        CCLayer::init();
    
        //得到窗口的大小
        winSize = CCDirector::sharedDirector()->getWinSize();
    
        //设置坐标
        CCPoint center = ccp(winSize.width / 2, winSize.height / 2);
    
        //让帧循环调用this->update(float dt)函数
    	scheduleUpdate();
    
        //创建精灵
        _sprite = CCSprite::create("green_edit.png");
        addChild(_sprite);
    
        //设置精灵的位置
        _sprite->setPosition(center);
    
        //创建菜单项
        CCMenuItemFont* up = CCMenuItemFont::create("up", this, menu_selector(Update::Handle));
        CCMenuItemFont* down = CCMenuItemFont::create("down", this, menu_selector(Update::Handle));
        CCMenuItemFont* left = CCMenuItemFont::create("left", this, menu_selector(Update::Handle));
        CCMenuItemFont* right = CCMenuItemFont::create("right", this, menu_selector(Update::Handle));
        CCMenuItemFont* Stop = CCMenuItemFont::create("Stop", this,  menu_selector(Update::Handle));
    
        //创建菜单
        CCMenu* menu = CCMenu::create(up, down, left, right, Stop, NULL);
        addChild(menu);
    
        //对齐菜单项
        menu->alignItemsVertically();
    
        //设置菜单项的ID
        up->setTag(1);
        down->setTag(2);
        left->setTag(3);
        right->setTag(4);
        Stop->setTag(0);
    
        //标记方向
        _direction = -1;
    
        return true;
    }
    
    void Update::Handle(CCObject* sender)
    {
        CCNode* node = (CCNode*)sender;
    
        //得到菜单项的ID,ID对应的是精灵移动的方向
        _direction  = node->getTag();
    }
    
    void Update::update(float dt)
    {
       // _direction == 1表示精灵向上移动
        if(1 == _direction)
        {
            //精灵向上移动
            //50表示一秒钟移动50个像素
            _sprite->setPositionY(_sprite->getPositionY() + dt * 100);
        }
    
         // _direction == 2表示精灵向下移动
        if(2 == _direction)
        {
            //精灵向下移动
            //50表示一秒钟移动50个像素
            _sprite->setPositionY(_sprite->getPositionY() - dt * 100);
        }
    
         // _direction == 3表示精灵向左移动
        if(3 == _direction)
        {
            //精灵向左移动
            //50表示一秒钟移动50个像素
            _sprite->setPositionX(_sprite->getPositionX() - dt * 100);
        }
    
         // _direction == 4表示精灵向右移动
        if(4 == _direction)
        {
            //精灵向右移动
            //50表示一秒钟移动50个像素
            _sprite->setPositionX(_sprite->getPositionX() + dt * 100);
        }
    
         // _direction == 4表示精灵停止移动
        if(0 == _direction)
        {
        }
    }

    执行结果:



    
    展开全文
  • 觉得cocos2d-js相对还是比较简单。我其实也没什么js基础,觉得只要知道了什么方法是做什么的,就能写游戏了。 0.安装环境 下载cocos2d-x http://www.cocos.com/download 下载安装python2 ...
  • cocos2d-x安装与配置

    2017-05-12 15:18:40
    最近需要用到cocos2d-x环境,便想着在我这台比较破的电脑上安装。安装过程真的是一波三折。在网上找的教程都是比较老的了,心想也没办法了,就按照这个先这么装吧!于是我就先下了coco2d-x-3.15,然后运行了里面的...
  • 我的Mac系统: 官网下载稳定版cocos2d-x-4.0。 我有两个Python版本,2.7和3.7。
  • Cocos2dx入门

    2019-04-18 22:36:19
    一.Cocos2d-x引擎特性 现代化的 C++ API 立足于 C++ 同时支持 JavaScript/Lua 作为开发语言 可以跨平台部署, 支持 iOS、Android、Windows、macOS 和 Linux 可以在 PC 端完成游戏的测试,最终发布到移动端 完善的游戏...
  • 本课程是《从零开始掌握Cocos2d-x 3.0(基于3.0正式版) 》课程配套的项目实战课程。建议对Cocos2d-x 3.0不了解的同学先学习该课程。本课程将利用《从零开始掌握Cocos2d-x 3.0(基于3.0正式版) 》中讲解的知识开发...
  • 15款Cocos2d-x游戏源码

    2017-11-30 17:52:12
    (1)用cocos2d-x开发的中国象棋游戏源码 使用Cocos2d-X2.2.3开发的一款中国象棋游戏,游戏中可以实现、新局面、悔棋、游戏音乐、胜利后会显示游戏结果。 源码下载:http://www.okbase.net/file/item/27881 ...
  • 本站文章均为 李华明Himi 原创,转载务必在明显处注明:转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2dx/603.html 可能很... 不得不说要说总结,因为Cocos2d-X的代码和Cocos2d-ipho
  • 很久以前使用博客园博主子龙山人的一篇博文《Cocos2d-x win7+vs2010配置图文详解 (亲测)》成功配置过cocos2d-1.01-x-0.9.1版本,链接为:Cocos2d-x win7 + vs2010 配置图文详解(亲测)-来自子龙山人的博客。现在想...
  • cocos2d-x游戏开发基础与实战 经典视频教程 cocos2d-x游戏开发工资高吗? 精通C/C++,熟练掌握Cocos2d-x引擎及其Cocos2d-x引擎周边开发工具,了解游戏开发常用的工具和软件,精通Socket网络编程和HTTP协议,能高效的...
  • 这篇指引主要介绍如何使用从在线下载工具下载下来的Cocos2d-JS的单文件引擎。 你有可能下载了下面三个版本中的一个: Cocos2d-JS Full Version: 完整版引擎包含Cocos2d-JS引擎的所有功能特性以及所有扩展,使用这...
  • Cocos2d-x-Lua示例项目HelloLua 本篇博客介绍Cocos2d-x中Lua的实例项目,就是使用Cocos2d-x创建的初始项目运行所呈现的农场,这里笔者取名为HelloLua。本篇博客会详细在代码中解析Cocos2d-x 3.1.1创建的Lua项目中...
  • Cocos2d-x 3.0新引擎目录结构2014年4月29日 Cocos2d-x 3.0学习作为一个Cocos2d-x的菜鸟,我倒是挺愿意关注不同版本之间的区别,Cocos2d-x 3.0自2013年7月份开始发布alpha0-pre版本,到2014年4月23日发布正式版,历经...
  • 近段时间在使用cocos2d-x开发2D手游,技术方案使用的是cocos2d-x+lua,因为游戏使用的是cocos2d-x 2.1.5版本,有些优化方案在最新版的cocos2d-x版本已经实现了。这篇文章主要是总结在使用cocos2d-x2.x版本+lua技术...
1 2 3 4 5 ... 20
收藏数 77,816
精华内容 31,126
关键字:

cocos2d