【cocos2d-x IOS游戏开发-城市跑酷2】python create_project

来源:互联网 发布:最好网络投资理财 编辑:程序博客网 时间:2024/04/27 22:02

尊重开发者的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/17187011


<捕鱼达人>回顾

【cocos2d-x IOS游戏开发-捕鱼达人1】内容介绍

上节回顾

【cocos2d-x IOS游戏开发-城市跑酷1】跑酷游戏介绍


1、  准备工作【VS2012】

一、下载cocos2d-x

http://cocos2d-x.org/projects/cocos2d-x/wiki/Download

我们可以看到稳定的版本为2.2.1,这个版本提供了一个用python命令来建立各平台的项目,十分便利。下载,解压

二、下载python

http://www.python.org/getit/

下载,安装,然后在终端直接输入python,如果出现版本信息则安装成功。

ActivePython 2.7.5.6 (ActiveState Software Inc.) based on
Python 2.7.5 (default, Sep 16 2013, 23:11:01) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

三、建立cocos2d-x项目

进入cmd,执行以下命令

cd ~/cocos2d-x-2.2.1/tools/project-creator/python create_project.py -project Victorian -package com.haomengzhu.game -language cpp

create_project.py要求提供3个参数(工程名:我这里是fishjoy ,包名:我这里是com. haomengzhu.game,语言:cpp | js | lua)

执行成功会显示以下信息

proj.ios        : Done!proj.android        : Done!proj.win32        : Done!proj.mac        : Done!proj.blackberry        : Done!proj.linux        : Done!proj.marmalade        : Done!New project has been created in this path: ../cocos2d-x-2.2.1/projects/VictorianHave Fun!

进入Victorian目,你可以看到这些项目

Classes    Resources        proj.android    proj.ios    proj.mac    proj.win32proj.blackberry    proj.linux    proj.marmalade

怎么样,全平台都给你搭好了,而且共用一个Classes文件夹,也就是说你在一个平台更新了代码,全平台都得到了更新。


四、打开VS2012工程

进入到 ..\cocos2d-x-2.2.1\projects\Victorian\proj.win32目录下,打开工程Victorian.sln。

添加文件GameLayer.cpp、GameLayer.h

游戏层的实现都在这里。


导演来了:

bool AppDelegate::applicationDidFinishLaunching(){    // initialize director    CCDirector *pDirector = CCDirector::sharedDirector();    pDirector->setOpenGLView(CCEGLView::sharedOpenGLView());    // turn on display FPS    pDirector->setDisplayStats(true);    // set FPS. the default value is 1.0/60 if you don't call this    pDirector->setAnimationInterval(1.0 / 60);    // create a scene. it's an autorelease object    CCScene *pScene = GameLayer::scene();    // run    pDirector->runWithScene(pScene);    return true;}

场景层实现:

// on "init" you need to initialize your instancebool GameLayer::init(){    bool bRet = false;    do     {        //////////////////////////////////////////////////////////////////////////        // super init first        //////////////////////////////////////////////////////////////////////////        CC_BREAK_IF(! CCLayer::init());//获取屏幕大小_screenSize = CCDirector::sharedDirector()->getWinSize();//创建游戏界面createGameScreen();//重新开始游戏resetGame();//listen for touchesthis->setTouchEnabled(true);//create main loopthis->schedule(schedule_selector(GameLayer::update));        bRet = true;    } while (0);    return bRet;}
预留接口,下节实现。