第一节:环境搭建


飞机大战游戏是一个只要懂c++都能开发的一个简单游戏,本次实习我们用的环境如下:

基于python2.7.8的cocos2d-x-3.0,新建的项目需要vs2012及以上版本才能运行,如果本机已经安装了python3.0以上的或者其他版本的也请重新装一次,会出问题,2.7最稳定。这里我只讲python与cocos2d-x的安装环境,vs自行解决。

环境压缩包链接:链接:http://pan.baidu.com/s/1i3fCKhJ密码:xfk0

一、将压缩包解压出来后有一个python2.7.8环境安装文件与cocos2d-x-3.0文件夹和一个资源文件Resources(这个先不管),双击python2.7.8进行安装。

1.选择Install for all users,然后点击next。

2.路径就选择默认安装路径c:\Python27\。这里不建议改,这个本身就不大是其一,不用改环境变量是其二,然后点击next。

3.这步很重要,本身这里是红叉的,点击那里选择installed on local hard drive,这步主要作用就是自动配置环境变量,然后一直next就OK。



二、测试python环境是否搭建成功

1.这里我们进入环境变量查看可以看到python的路径已经自动被添加进去了。


2.win+R输入cmd打开控制台,键入python发现环境已经搭建成功。如果说不是内部命令就键入python.exe.。再不行就重新装一下,选择默认安装路径。关闭控制台。



三、安装cocos2dx环境

1.为压缩包选择一个合适的没有中文的没有空格的路径名。比如我的解压路径就是E:\sxhj\cocos2d-x-3.0。

2.解压完成后双击打开,可以看到里面有个setup.py文件,这个就是环境安装文件,如果没有安装python2.7.8环境是无法安装的,这里可以双击运行,然后一直敲回车就行,然后它会自动关闭。

3.再次进入控制台,键入cocos,有内容弹出表示安装成功,不关闭控制台。


四、新建打飞机项目

1.新建项目命令:cocos new –l cpp –d ① –p ② ③
cocos 是cocos2dx提供的一个命令集,包括新建项目,编译,发布,运行等命令
new是其中一个子命令,用于新建一个cocos项目
-l language,选择后面开发cocos的语言,这里我们使用cpp,即C++
以下为可选项:
-d directory,指定项目存放地,①为你自己选择的目录,默认项目创建在当前目录中
-p package,指定java包名,②是你自己的包名称,默认是cocos官方包名
项目名称,默认是MyCppGame,推荐每个单词首字母大写

这里我的命令指令是:"cocos new -l cpp -d f:/mycocos FlyPlane"(没有引号),等待一段时间后,就创建成功了。

2.关闭控制台,进入创建项目目录如图所示,可以看到cocos2dx已经帮我们在各个平台创建了相应的文件夹,我们C++源文件都放在Classes文件夹里面,资源文件都放在Resources里,这里用压缩文件里的Resources文件把它替代掉(一定要在保持在原Resources路径下)。


3.双击打开proj.win32文件夹,双击打开FlyPlane.sln文件(用VS打开),如下,3.0创建工程时默认给我们添加了libAudio、libchipmunk、libcocos2d这三个库。

libAudio:声音库。
libchipmunk:Chipmunk物理引擎支持库。
libcocos2d:cocos2d-x的核心引擎库。

我们主要编辑的c++代码在FlyPlane下的classes文件夹中。


4.点击运行,如下。



GL verts和GL calls表示的意义可以百度,下面那个60.0 / 0.000,左边表示每秒的刷新的帧数,右边表示掉帧率,到此环境搭建就成功了。


五、读懂入口代码,AppDelegate类


游戏和电影是一个道理,cocos2d中以下的项目专业词汇十分重要:

Director:导演。资源管理,权利最大,知道东西最多的类。
Scene: 场景。一个场景中可以有多个层。
Layer: 层,一个层可以有多个精灵。
Sprite:精灵。一个2d的图片(png格式)就叫精灵,3d的叫纹理。


delegate是委托的意思,这是代码的入口

   /**
    @brief    Implement Director and Scene init code here.
    @return true    Initialize success,app continue.
    @return false   Initialize Failed,app terminate.
    */
    virtual bool applicationDidFinishLaunching();

bool AppDelegate::applicationDidFinishLaunching() {
    // initialize director
    auto director = Director::getInstance();
    auto glview = director->getopenGLView();
    if(!glview) {
        glview = GLView::create("My Game");
        director->setopenGLView(glview);
    }

    // turn on display FPS
    director->setdisplayStats(true);

    // set FPS. the default value is 1.0/60 if you don't call this
    director->setAnimationInterval(1.0 / 60);

    // create a scene. it's an autorelease object
    auto scene = HelloWorld::createScene();		//这里会调用helloworld类的创建层函数,返回cocos2d::Scene*
						//createScene()会调用create()函数,create()会调用init()函数,具体分析见下节
    // run
    director->runWithScene(scene);			//运行层

    return true;				//return true  初始化成功

}

至此环境搭建就成功了。



基于cocos2dx的飞机大战学习[一]-环境搭建的更多相关文章

  1. ios – 如何将PhoneGap调试控制台与CLI集成?

    我需要在config.xml中添加任何内容吗?

  2. 无法使用xCode 4.4启动控制台应用程序

    我有一个包含两个目标的项目–一个iOS应用程序和一个OSX控制台应用程序.后者是使用XcodeFile->NewTarget并选择“CommandLineTool”创建的.此控制台应用程序用于准备iOS应用程序所需的默认数据库–使用CoreData.这一直很好,直到我升级到MountainLion和xCode4.4.现在,当我尝试运行命令行工具时,我收到“无法启动–权限被拒绝”错误.我试过玩签名证

  3. ios – 如何使用blender和PowerVR SDK为cocos3d创建一个简单的3d球体

    我是cocos3d的新手.我想创建一个简单的项目–旋转的3d球体.我用搅拌机设计了一个3d球体.所以我想要帮助创建collada文件和pod文件.使用blender和PowerVRSDK创建这个简单的3d对象时应该注意什么.谢谢解决方法如何在搅拌机中制作简单的球体,然后使用JeffLamarche的Blender-to-iOSscript将其导出?这甚至不需要Cocos或PowerVR,但这是一个良好的开端.由于您可以在iOS中轻松地将Cocos与非Cocos类集成,因此可能会有所帮助.你可以更进一步,利

  4. XCode 3.2 Ruby和Python模板

    在xcode3.2下,我的ObjectiveCPython/Ruby项目仍然可以打开更新和编译,但是你无法创建新项目.鉴于xcode3.2中缺少ruby和python的所有痕迹(即创建项目并添加新的ruby/python文件),是否有一种简单的方法可以再次安装模板?我发现了一些关于将它们复制到某个文件夹的信息,但我似乎无法让它工作,我怀疑文件夹的位置已经改变为3.2.解决方法3.2中的应用程序模板

  5. 使用XCode进行调试时如何生成SIGINT?

    我的控制台应用程序捕获SIGINT,以便它可以正常退出.但是,在调试程序时按XCode中的CTRLC无效.我可以找到进程并使用终端窗口向我的进程发送SIGINT,但是我希望有一个更简单的解决方案,我可以在XCode中完成.解决方法调试器控制台的暂停按钮实际上会向您的应用发送SIGINT.如果您想让调试器将信号传递给您的应用程序,您可以执行以下操作:>按调试器的暂停按钮,等待调试控制台获得焦点>键入

  6. ios – 从应用程序扩展打印到控制台

    我一直在玩iOS8中的新自定义键盘应用程序扩展API,使用Swift作为我的首选语言.然而,我注意到的一件事是,println似乎并没有向控制台输出任何输出,大概是因为这些语句是在应用程序扩展中执行而不是包含应用程序.有没有人找到一种方法从应用程序扩展中将语句打印到控制台?

  7. 为什么Xcode 8(iOS 10)在控制台中打印[LogMessageLogging]

    为什么Xcode8打印[LogMessageLogging]在控制台中,当我调用地图视图时?任何人都可以提出一些建议吗?解决方法PrivacyTheunifiedloggingsystemconsidersdynamicstringsandcomplexdynamicobjectstobeprivate,anddoesnotcollectthemautomatically.Toensuretheprivacyofusers,itisrecommendedthatlogmessagesconsiststri

  8. ios – 如何使用lldb expr(DEBUGGING控制台)在运行时设置UIView的框架

    我正在尝试以下方法我越来越我正在使用XCode6.1,LLDB版本lldb-320.4.152解决方法好的,这是一种有效的方法

  9. Xcode控制台中的“Some”关键字是什么意思?

    打印对象的描述会使lldb在对象的描述前面使用关键字“Some”:这个关键字是什么意思;为什么会这样?解决方法Optional是包含两个案例的枚举,none和some:如您所见,Optional可以具有Some值,具有关联值或None.Optional.None实际上是nil的意思.在这种情况下,调试器告诉您someString是一个Optional(a.k.a.String?),其值为Optional.some.它不是Optional.None,因此它不是零.在Swift3之前,这些案例都是大写的,So

  10. Swift基本使用-函数和闭包(三)

    声明函数和其他脚本语言有相似的地方,比较明显的地方是声明函数的关键字swift也出现了Python中的组元,可以通过一个组元返回多个值。传递可变参数,函数以数组的形式获取参数swift中函数可以嵌套,被嵌套的函数可以访问外部函数的变量。可以通过函数的潜逃来重构过长或者太复杂的函数。

随机推荐

  1. 【cocos2d-x 3.x 学习笔记】对象内存管理

    Cocos2d-x的内存管理cocos2d-x中使用的是上面的引用计数来管理内存,但是又增加了一些自己的特色。cocos2d-x中通过Ref类来实现引用计数,所有需要实现内存自动回收的类都应该继承自Ref类。下面是Ref类的定义:在cocos2d-x中创建对象通常有两种方式:这两中方式的差异可以参见我另一篇博文“对象创建方式讨论”。在cocos2d-x中提倡使用第二种方式,为了避免误用第一种方式,一般将构造函数设为protected或private。参考资料:[1]cocos2d-x高级开发教程2.3节[

  2. 利用cocos2dx 3.2开发消灭星星六如何在cocos2dx中显示中文

    由于编码的不同,在cocos2dx中的Label控件中如果放入中文字,往往会出现乱码。为了方便使用,我把这个从文档中获取中文字的方法放在一个头文件里面Chinese.h这里的tex_vec是cocos2dx提供的一个保存文档内容的一个容器。这里给出ChineseWords,xml的格式再看看ChineseWord的实现Chinese.cpp就这样,以后在需要用到中文字的地方,就先include这个头文件然后调用ChineseWord函数,获取一串中文字符串。

  3. 利用cocos2dx 3.2开发消灭星星七关于星星的算法

    在前面,我们已经在GameLayer中利用随机数初始化了一个StarMatrix,如果还不知道怎么创建星星矩阵请回去看看而且我们也讲了整个游戏的触摸事件的派发了。

  4. cocos2dx3.x 新手打包APK注意事项!

    这个在编译的时候就可以发现了比较好弄这只是我遇到的,其他的以后遇到再补充吧。。。以前被这两个问题坑了好久

  5. 利用cocos2dx 3.2开发消灭星星八游戏的结束判断与数据控制

    如果你看完之前的,那么你基本已经拥有一个消灭星星游戏的雏形。开始把剩下的两两互不相连的星星消去。那么如何判断是GameOver还是进入下一关呢。。其实游戏数据贯穿整个游戏,包括星星消除的时候要加到获得分数上,消去剩下两两不相连的星星的时候的加分政策等,因此如果前面没有做这一块的,最好回去搞一搞。

  6. 利用cocos2dx 3.2开发消灭星星九为游戏添加一些特效

    needClear是一个flag,当游戏判断不能再继续后,这个flag变为true,开始消除剩下的星星clearSumTime是一个累加器ONE_CLEAR_TIME就是每颗星星消除的时间2.连击加分信息一般消除一次星星都会有连击信息和加多少分的信息。其实这些combo标签就是一张图片,也是通过控制其属性或者runAction来实现。源码ComboEffect.hComboEffect.cpp4.消除星星粒子效果消除星星时,为了实现星星爆裂散落的效果,使用了cocos2d提供的粒子特效引擎对于粒子特效不了

  7. 02 Cocos2D-x引擎win7环境搭建及创建项目

    官网有搭建的文章,直接转载记录。环境搭建:本文介绍如何搭建Cocos2d-x3.2版本的开发环境。项目创建:一、通过命令创建项目前面搭建好环境后,怎样创建自己的Cocos2d-x项目呢?先来看看Cocos2d-x3.2的目录吧这就是Cocos2d-x3.2的目录。输入cocosnew项目名–p包名–lcpp–d路径回车就创建成功了例如:成功后,找到这个项目打开proj.win32目录下的Hello.slnF5成功了。

  8. 利用cocos2dx 3.2开发消灭星星十为游戏添加音效项目源码分享

    一个游戏,声音也是非常的重要,其实cocos2dx里面的简单音效引擎的使用是非常简单的。我这里只不过是用一个类对所有的音效进行管理罢了。Audio.hAudio.cpp好了,本系列教程到此结束,第一次写教程如有不对请见谅或指教,谢谢大家。最后附上整个项目的源代码点击打开链接

  9. 03 Helloworld

    程序都有一个入口点,在C++就是main函数了,打开main.cpp,代码如下:123456789101112131415161718#include"main.h"#include"AppDelegate.h"#include"cocos2d.h"USING_NS_CC;intAPIENTRY_tWinMain{UNREFERENCED_ParaMETER;UNREFERENCED_ParaMETER;//createtheapplicationinstanceAppDelegateapp;return

  10. MenuItemImage*图标菜单创建注意事项

    学习cocos2dx,看的是cocos2d-x3.x手游开发实例详解,这本书错误一大把,本着探索求知勇于发现错误改正错误的精神,我跟着书上的例子一起调试,当学习到场景切换这个小节的时候,出了个错误,卡了我好几个小时。

返回
顶部