不知道大家听说过没这样一个笑话。
一个工程师退休后闲赋在家,闲来无事便想练练书法。当他拿好笔墨纸砚后,想了想,在纸上写下了“Hello World~!”呵呵,相信大家新学任何一门新语言时,做的第一个项目应该都是Hello world把。
打开Xcode -> Create a new Xcode Project -->cocos2d-x
还记得这个界面么,
[img]http://dl2.iteye.com/upload/attachment/0085/2280/0a423b80-0462-3d25-8b57-3bf8cecb9f89.png[/img]
大家看到了cocos2d-x引擎提供的[b]5种可选择的模板[/b]。
[list]
[*]cocos2dx:标准模板(无物理类库,无脚本类库)
[*]cocos2dx_box2d(box2d物理游戏模板)
[*]cocos2dx_chipmunk(chipmunk物理游戏模板)
[*]cocos2dx_js(含js脚本类库)
[*]cocos2dx_lua(含lua脚本类库)
[/list]
我们选择cocos2dx标准模板即可。
如下图输入product name和company identifier
[img]http://dl2.iteye.com/upload/attachment/0085/2278/3e1f15d8-0527-3136-9edc-6e1957270010.png[/img]
点击NEXT,选好目录地址后即可完成创建,新项目如下图。
[img]http://dl2.iteye.com/upload/attachment/0085/2276/fead4b8b-5f76-3e45-a6bd-c1b0a14fe60b.png[/img]
首先我们来看一下cocos2dx的项目结构。
大家看上图的左边,主要有以下几个目录:
[list]
[*]Resources: 资源存放目录
[*]ios:项目运行的入住口(main函数 :))
[*]libs:cocos2dx引擎的库以及其他扩展的一些类库
[*]classes:cocos2dx引擎入口
[*]support files:其他文件
[*]framework:ios 的sdk
[*]products:产品存放的目录
[/list]
我们常用的入口就是classes目录了,下面我们来看下AppDelegate.cpp的代码,
我在重要的地方都加了注释
在看代码之前,我稍微介绍几个类的概念。
[list]
[*]CCDirector:顾名思义,导演就是控制不同场景之间的切换
[*]CCScene:一个游戏由游戏场景,暂停菜单场景,主菜单场景等多个场景组成。
[*]CCLayer:每个场景中由多个层来组成,比如游戏中有远景地图,精灵层,前景装饰,HUD界面等层组成。
[*]CCSprite:如雷电游戏由一个飞机精灵,多个敌人精灵等较色,并且有不同的状态。
[/list]
看完代码,让我们运行下我们的第一个cocos2dx项目把~注意左下角3个数字
[img]http://dl2.iteye.com/upload/attachment/0085/2296/9c30b4a4-c3e0-3a13-baf3-bfb5992d8c57.png[/img]
大概了解了项目的结构,我们可以正式开始学习cocos2dx了~
大家一起加油~~
一个工程师退休后闲赋在家,闲来无事便想练练书法。当他拿好笔墨纸砚后,想了想,在纸上写下了“Hello World~!”呵呵,相信大家新学任何一门新语言时,做的第一个项目应该都是Hello world把。
打开Xcode -> Create a new Xcode Project -->cocos2d-x
还记得这个界面么,
[img]http://dl2.iteye.com/upload/attachment/0085/2280/0a423b80-0462-3d25-8b57-3bf8cecb9f89.png[/img]
大家看到了cocos2d-x引擎提供的[b]5种可选择的模板[/b]。
[list]
[*]cocos2dx:标准模板(无物理类库,无脚本类库)
[*]cocos2dx_box2d(box2d物理游戏模板)
[*]cocos2dx_chipmunk(chipmunk物理游戏模板)
[*]cocos2dx_js(含js脚本类库)
[*]cocos2dx_lua(含lua脚本类库)
[/list]
我们选择cocos2dx标准模板即可。
如下图输入product name和company identifier
[img]http://dl2.iteye.com/upload/attachment/0085/2278/3e1f15d8-0527-3136-9edc-6e1957270010.png[/img]
点击NEXT,选好目录地址后即可完成创建,新项目如下图。
[img]http://dl2.iteye.com/upload/attachment/0085/2276/fead4b8b-5f76-3e45-a6bd-c1b0a14fe60b.png[/img]
首先我们来看一下cocos2dx的项目结构。
大家看上图的左边,主要有以下几个目录:
[list]
[*]Resources: 资源存放目录
[*]ios:项目运行的入住口(main函数 :))
[*]libs:cocos2dx引擎的库以及其他扩展的一些类库
[*]classes:cocos2dx引擎入口
[*]support files:其他文件
[*]framework:ios 的sdk
[*]products:产品存放的目录
[/list]
我们常用的入口就是classes目录了,下面我们来看下AppDelegate.cpp的代码,
我在重要的地方都加了注释
在看代码之前,我稍微介绍几个类的概念。
[list]
[*]CCDirector:顾名思义,导演就是控制不同场景之间的切换
[*]CCScene:一个游戏由游戏场景,暂停菜单场景,主菜单场景等多个场景组成。
[*]CCLayer:每个场景中由多个层来组成,比如游戏中有远景地图,精灵层,前景装饰,HUD界面等层组成。
[*]CCSprite:如雷电游戏由一个飞机精灵,多个敌人精灵等较色,并且有不同的状态。
[/list]
//
// Hello_worldAppDelegate.cpp
// Hello_world
//
// Created by wenbin.cai on 13-5-30.
// Copyright __MyCompanyName__ 2013年. All rights reserved.
//
#include "AppDelegate.h"
#include "cocos2d.h"
#include "SimpleAudioEngine.h"
#include "HelloWorldScene.h"
USING_NS_CC;
using namespace CocosDenshion;
AppDelegate::AppDelegate()
{
}
AppDelegate::~AppDelegate()
{
}
bool AppDelegate::applicationDidFinishLaunching() //三个生命周期函数之一:游戏启动时执行
{
// initialize director
CCDirector *pDirector = CCDirector::sharedDirector(); //获得唯一的一个导演对象
pDirector->setOpenGLView(CCEGLView::sharedOpenGLView());
// turn on display FPS
pDirector->setDisplayStats(true); //设置显示状态,看运行图中的左下角(对象数,time per second,FPS帧数)
// set FPS. the default value is 1.0/60 if you don't call this
pDirector->setAnimationInterval(1.0 / 60);//设置游戏帧数FPS
// create a scene. it's an autorelease object
CCScene *pScene = HelloWorld::scene();//创建一个场景
// run
pDirector->runWithScene(pScene);//导演展现一个场景
return true;
}
// This function will be called when the app is inactive. When comes a phone call,it's be invoked too
void AppDelegate::applicationDidEnterBackground()//三个生命周期函数之二:程序被切换至后台时执行
{
CCDirector::sharedDirector()->stopAnimation(); //整个游戏停止动画
SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic(); //停止播放背景音乐
SimpleAudioEngine::sharedEngine()->pauseAllEffects();//展厅所有特效
}
// this function will be called when the app is active again
void AppDelegate::applicationWillEnterForeground()//三个生命周期函数之三,程序从后台切回到前台时执行。
{
CCDirector::sharedDirector()->startAnimation();//开始所有动画
SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); //继续播放背景音乐
SimpleAudioEngine::sharedEngine()->resumeAllEffects();//继续所有特效
}
看完代码,让我们运行下我们的第一个cocos2dx项目把~注意左下角3个数字
[img]http://dl2.iteye.com/upload/attachment/0085/2296/9c30b4a4-c3e0-3a13-baf3-bfb5992d8c57.png[/img]
大概了解了项目的结构,我们可以正式开始学习cocos2dx了~
大家一起加油~~