尊重开发者的劳动成果,转载的时候请务必注明出处: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/Victorian Have Fun!
进入Victorian目录,你可以看到这些项目
Classes Resources proj.android proj.ios proj.mac proj.win32 proj.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 instance bool GameLayer::init() { bool bRet = false; do { ////////////////////////////////////////////////////////////////////////// // super init first ////////////////////////////////////////////////////////////////////////// CC_BREAK_IF(! CCLayer::init()); //获取屏幕大小 _screenSize = CCDirector::sharedDirector()->getWinSize(); //创建游戏界面 createGameScreen(); //重新开始游戏 resetGame(); //listen for touches this->setTouchEnabled(true); //create main loop this->schedule(schedule_selector(GameLayer::update)); bRet = true; } while (0); return bRet; }预留接口,下节实现。