cocos2d-x课程大纲(基础部分)
I. 第一章 基础1.1 前言
1.1.1 cocos2d-x介绍
-
cocos2d-x网站营销有哪些是一个手机游戏开发引擎,使用C++开发,可以很方便的移植到各个平台,目前cocos2d-x支持Android,IOS,windows,mac,linux等系统。" u) ~+ N9 s* }/ e/ G7 @
早先由阿根廷人开发Py网站营销有哪些thon版本网站营销怎么做,后来苹果手机流行之后,网站营销的模式阿根廷人又用OC改写了cocos2d,并称之为cocos网站营销有哪些2d-iphone。
后来由国人将cocos2d-iphone网络营销教程电子版用C++改写,并称之为cocos2d-x,这样使用cocos2d-x开发的游戏很容易被移植到各网络营销教程培训个平台。5 j' e6 m,网站营销方案案例范文 J+ w! O* p
8 B! C+ o6 y% o+ U7 ?- j2 x. a
1.1网络营销教程培训.2 基础阶段学习目标和作品演示
1.1.3 环境搭建
-
安装如何做网站营销python2.7和配置python路径
-
安装vs2013
-
解压cocos2dx到某目录,比如d:\\\\cocos\\\\cocos2d-x
-
命令行进入cocos2网络营销教程pdfd-x目录,执行se网站营销的模式tup.py
1.1.4 介绍cocos2dx开发包目录
-
build 工程目录
-
cmake mak网络营销教程培训efile目录
-
cocos cocos2dx核心源代码目录
-
docs 文档目录
-
extensions 拓展代码目录,主要是GUI部分
-
external 外部开源库
-
licen网站营销怎么做ses 外部开源库licenses
-
plugin 插件
-
templates 创建工网络营销教程资料程模板,创建工程使用的模板工程
-
tests 测试项目cpp-test代码在这里
-
tools 工具,创建工程的脚本网络营销实用教程就在这里
1.2 第一个工程
1.2.1 创建工程
-
cocos new Proj网站营销策略怎么写ectName -l cpp' \\\\6 ^* J4 M! N( V7 r9 k0 P
在当前目录下创建一个工程名字为ProjectName
-
cocos new ProjectName -l cpp -d d:\网站营销方案案例范文\\\cocos
在d:\\\\cocos目录下创建一个名字为Proje网络营销教程资料ctName的工程
-
cocos new ProjectName -l cpp -d d:\\\网站营销网\cocos -p com.Orgnization.ProjectName
在d:\\\\cocos目录下创建一个工程名为ProjectName,包名为com.Orgnization.ProjectName的工程
-
coc网站营销怎么做os new9 J! m- W8 E( y- _
查看cocos new命令的帮助
-
使用vs2013打开工程目录中的解决方案文件,对第一个工程进行编译和运行! M/ N, o, Y4 O8 j# |1 D
1.2.2 介绍工程目录
1.2.3 介绍详细代码
-
程序入口和AppDelegate% g&网络营销教程美食培训公司官网amp; ?.网络营销实用教程 X0 o/ xt
main函数通过虚函数调用到AppDelegate::applicationDidFinishLaunching
-
AppDelegate::applicationDidFinishLaunching()) Z4 NH( H8 R8 u3 ~3 O
这个是真正的入口函数,负责游戏的初始化,包括创建第一个场景
-
HelloWorld::init()
场景层的初始化,负责显示场景的信息
-
HelloWorld::menuCloseCallback(Ref*)9 ?5 w2 A3 R8 a
退出菜单的回调函数,负责程网站营销网序退出
-
头文件和命名空间
cocos引擎定义co网络营销教程资料cos2d.h头文件中,并且使用了命名空间c网站营销的模式ocos2d,因此我们写的程序都应该包含cocos2d头文件,并且需要使用cocos2d命名空间,
#include "cocos2d.h"USING_NS_网络营销教程培训CC;// #define USING_NS_CC using na网络营销教程的心得体会mespace cocos2d
e USING_NS_CC using namespace cocos2d
1.2.4 cocos设计理念
_5 A. g: M5 N* x网站营销网4 M$ |* j) s
1.3 精灵
1.3.1 精灵的创建
1.3.2 精灵的属性
-
位置 Sprite::setPosition()
-
锚点 Sprite::网络营销入门课程setAnchorPoint()
-
旋转网站营销教程pdf Sprite::setRotation()
-
缩网络营销入门课程放 Sprite::s网络营销教程电子版etScale()
-
颜色 Sprite::setColor()
-
可见 Sprite::setVisible()
-
透明度 S网络营销教程pdfprite::setOpacity()
-
X翻转Sprite::setFlippedX()
-
Y翻转 Sprite::setFlippedY()
-
X扭曲 Spri网站营销有哪些te::网络营销教程培训setRotationSkewX()
-
Y扭曲 Sprite::setRotationSkewY()网站营销教程pdf
-
名字 Sprite::setName()
-
标签 Sprite::setTag()
-
精灵帧 Sprite::setSpriteFrame()
-
纹理 Sprite::setTexture()
-
纹理矩形 Sprite::setTextureRect()
-
用户数据 Sprite:网站营销怎么做:setUs网站营销怎么做erData()
-
用户对象 Sprite::setUserObject()
-
获取包含精灵的矩形 Sprite::getBoundingBox()
-
ZOrder setLoca网络营销教程资料lZOrder, setGlobalZOrder
1.3.3 自定义精灵类(派生)
-
初网站营销策略都有哪些始化空精灵 Sprite::i网络营销教程电子版nit(网站营销教程pdf)
-
通过文件初始化精灵 Sprite::initWithFile()
-
通过纹理初始化精灵 Sprite::initWithTexture()
-
通过精灵帧初始化精灵 Sprite::initWithSpriteFrame()% v7 s* A6 r! m&#网络营销教程美食培训公司官网039; a" K, u
1.3.4 纹理和精灵帧
-
纹理) x1 u, r9 K% I
对应的类叫做Texture2D,在2D的概念中,纹理其实就是指图片了。图片在加载网络营销教程培训到内存之后,做进一步的处理,将数据格式转换成适合opengl渲染的格式网络营销教程培训,这个格式的数据我们称网站营销教程pdf之为纹理。+ Q. [+ C% m0 d: {, E
-
精灵帧
对应的类叫做SpriteFrame,有时候一张大的纹理包括很多小图,网络营销教程培训我们只需要纹理的一部分来创建精灵,我们可以理解精灵帧是纹理的网络营销教学视频一部分。6 y) Fg) L1 @6 K" }
-
SpriteFrame* frame = SpriteFrame::create(网站营销有哪些filename, rect);
-
SPriteFrame* frame = SpriteFr网站营销方案案例范文ame::c网站营销教程pdfreateWithTexture(texture, rect);
-
SpriteFrameCache::网络营销教程资料getInstance()-ad网站营销策略怎么写dSpriteFramesWithFile(plistFile)1 H4 g, ^/ [3 y) c3 ~; v! q/ a& R3 ^6 K
通过plist文件加载一些列精灵帧,这个将来在缓网站营销方案案例范文存时细说! `. a7 eb; V. w" a$ ~% X# {8 t
1.4 坐标体系和锚点
1.4.1 坐标体系概念
游戏中使用的是网络营销教程的心得体会cocos2dx坐标体系,也叫GL坐标体系
1.4.2 精灵的锚网站营销有哪些点
1.如何做网站营销5 单点触摸处理
1.5.网站营销的模式1 设置触摸监听
1.5.2 Touch对象
每个触摸函数都有两个参数,Touch和Event,其中Event可以忽略网站营销怎么做,Touch对象中带着一些触摸信息需要我网络营销教程电子版们了解
-
Touch::getLocation
返回触摸当前坐网站营销怎么做标,该坐标是世界体系的坐标,不论监听的对网络营销教程的心得体会象是精灵还是层,返回坐标都是世界坐标,该函数可网站营销网以在began、moved、ended、cancelled函数网站营销策略怎么写中调用获取当前触摸的位置
-
T网站营销方案案例范文ouch::getDelta
返回触摸偏移量,该函数一般在moved中调用才有意义
-
Touch::getStartLocation
返回触摸开始时位置,该函数在b网络营销教程pdfegan时和getLocation一样,在moved和网络营销实用教程ended时,可以调用该函数返回当初触摸开始时位置
1.5.3 lambada表达式和应网络营销教程资料用
-
Lambada表达式
-
与普通函数代码块相同
-
一网站营销方案案例范文般省略,l网站营销有哪些ambada表达式的返回值代表了返回类型
-
与普通参数列表相同! J: I7 X3 x/ b& v
-
[] 不捕获
-
[=] 捕获外部所有常量,以传值方式
-
[&] 捕获外部所有变量,以引用方式
-
[&a, b] 以引用方式网站营销教程pdf捕获a,以传值方式捕获b
-
[&a, =] 以引用方式捕获a,其他变量传值捕获
-
捕获列表一般使用[&],即可
-
捕获列表可以捕获的参数范围为lambada表达式可见的变网站营销方案案例范文量,包括之前定义的局部变量,this指针网络营销教程pdf,全局网站营销教程pdf变量,但是捕获局部变量是一个危险的行为,因为lambada表达式被调用时,局部变量可能已经不存在了.4 i, Q. Lg' H! ~
-
[capture list](parameter list)-return type{function body}
-
[capture list]和{function网站营销教程视频 body}是必须的,其他是可选的
-
基本语法:7 k2 H$ a) _P% A2 H
-
捕获列表 capture list' Y: F) A3 j1 d9 Y1 K. l
-
参数列表 parameter list! b- R]9 D; ]; E" I
-
返回网站营销有哪些类型 return type( G! Ye3 Q6 F( q* q7 a8 ^" c
-
代码块 function body' Z, N9 Q如何做网站营销! p: e) f1 S; p: c
EventListenerTouchOneByOne* ev = EventListenerTouchOneByOne::create();ev-onTouchBegan = [](Tou网站营销网ch* touch, Event* ev){return true; }网络营销教学视频;ev-onTouchMoved = [&](Touch* touch, Event* ev){ streak-se网站营销教程视频tPosition(touch-getLocation()); sprite-setPosition(touch-getLocation());};_eventDispatcher-addEven网络营销实用教程tListenerWithSceneGraphPriority(ev, this);1.5.4 练习:使用触摸移动精灵
1.6 定时器
1.6.1 帧定时器
1.6.2 自定义定时器
1.6.3 定时器回调函数的参数
1.6.4 取消和干网络营销教程pdf预定时器
-
节点释放时,它自动会取消该节点拥有的定时网络营销实用教程器。
-
节点未释放时,可以调用Node::unschedule取消某个定时器
-
通过重新调用schedule可以改变定时器时间间隔
1.6.5 练习:通过定时器实现动画
1.6.6 练习:通过定时器实现精灵运动
-
创建精灵
-
启网站营销的模式动定时器
-
在定时器里设置精灵的位置
1.7 内存管理
1.7.1 Ref类
Ref类几乎是所有cocos类的父类,在网站营销策略都有哪些2.2.3版本里,这个类叫做CCObject,该类有一个主要的功能,就是实现了对象的引用网络营销教程美食培训公司官网计数器
1.7.2 管理引用计数器
1.7.3 静态的create方法
-
cocos采用静态的create函数来创建对象,在静态的create函数里,网站营销的模式除了创建对象之外,还调用该对象的init函数来对对象进行初始化,最后调用网站营销怎么做了autorelease将该对象加入内存管理池,纳入自动管理。
-
cocos的这种创建对象的方法,参考了ObjectC,从C++设计角度来说,这样创建对象也是合理的,构造函数负责网站营销网数值初始化,而init负责逻辑初始化。0 q( z7 k( U+ X$ V( j/ M5 W
1.7.4 内存管理池
大部分时候,我们只需要create对象,然后将它加入到父节点即可,Ref的release、retain、autor网络营销教学视频elease函数,其实是内部调用的。但是理解机制很重要,某些场合下,需要我们自己去re网站营销教程视频lease对象
1.8 数组容器Vector
1.8.1 Vector
-
Vector是cocos里定义的容器类,它只能将Ref或者Ref的子类对象加入到该数组中。
-
当一个Ref对象被加入到该数组时,Ref对象的引用计数器会自动增加1
-
当Ref对象从数组中移除时,Ref对象的引用计数器会自动减少1
-
数组访问
1.8.2 与std::vector的区别
1.9 碰撞检测
1.9.1 矩形碰撞检测
-
矩形和矩形:Rect::intersectsRect(Rect)
-
矩形和圆:Rect::intersectsCircl网络营销入门课程e(Vec2, float)
-
矩形和点:Rect网站营销网::co网络营销教程培训ntainsPoint(Vec2网络营销教程美食培训公司官网)8 G! N0 p; k; Z. C% V- l5 n' [% {
1.9.2 圆形碰撞检测
1.9.3 点与圆碰撞检测
1.9.4 线段碰撞检测
1.10 文本显示
1.10.1 systemFont
1.10.2 altas
1.10.3 BMFont
1网络营销教程的心得体会.10.4 TTF(TrueTypeFont) Label
1.1网站营销怎么做0.5 Label的网络营销入门课程锚点网站营销教程pdf也是Label文字的对齐方式1.11 菜单
1.11.1 菜单实现
-
Menu类和MenuItem类
-
Menu类,负责响应触摸,是Layer的派生类
-
MenuItem类,负责展示菜单项目
-
为菜网站营销策略怎么写单项设置回调函数 MenuItem:网络营销教程美食培训公司官网:setCallback
-
自动排列菜单项 Menu::alignItemsVe网站营销教程pdfrticall网络营销教程培训y
-
移动菜单项位置,菜单的坐标体系原点在屏幕中间h/ b2 k7 B+ J: p
1.11.2 菜单项介绍
1.12 场景切换
1.12.1 场景介绍
1.12.2 场景替换 replaceScene
Scene* scene = Scene网络营销教程电子版::create()网络营销实用教程;D如何做网站营销irector::getInstance()-replace网络营销教程美食培训公司官网Scene(scene);
1.网站营销教程pdf1网站营销的模式2.3 场景入栈和出栈 pushScene
Scene* scene = Scene::create();Director::getInstance()-pushScene(scene);
Direc网络营销入门课程tor:网站营销网:getInstance网络营销教程考试()-popScene();
1.12.4 总结
-
在cocos中,导演对象有一个场景栈来保存所有的场景,栈顶的场网站营销网景为当前活动的场景,非栈顶的场景为暂停的网络营销教程电子版场景。
-
r网站营销策略都有哪些unWithSce网站营销策略都有哪些ne是第一次往栈中增加场景
-
replaceScene是替换栈顶的场景
-
pushScene是往栈中增加场景
-
popScene是从栈中删除一个场景,如果p网站营销怎么做opScene后,栈为空,也就如何做网站营销是说pop最后一个场景后,程序将退出
-
在游戏中,慎用网络营销教程培训pushScene,因为会导致内存暴增,除非自己很清楚必须这样做。
-
场景切换效果/ O4 y$ {' J0 B# N, E0 ]
1.13 截取屏幕
1.13.1 使网络营销教程培训用RenderTexture抓屏
1.13.2 使用utils::captureScreen抓网络营销教程pdf屏
1.14 声音网络营销教程pdf
1.14.1 cocos网站营销网2dx跨平台网络营销教程美食培训公司官网音频引擎cocosdension
-
cocos2dx的音频引擎为各个网络营销实用教程平台提供统网络营销实用教程一的网络营销教程培训接口
-
头文件 #i网络营销教程培训nclude "SimpleAudioEngine.h"
-
需要网络营销教程的心得体会使用命名空间 CocosDenshion0 k( k$ z7 f& u, J4 o% i. t
1.14.2 背景音乐
1.14.3 音效
1.14.4 干预
1.14.5 提高效率网站营销策略怎么写:预加载音乐1.14.6 背景音乐的生命周期1.14.7 程序进入后台的处理
1.15 实现飞机大战网络营销教程电子版案例网站营销怎么做
1.15.1 设计目标
1.15.2 控制层实现
1.15.3 AI层实现
-
敌机产生
-
敌机自动移动控制
-
子弹自动移动控制
-
炸弹道具产生2 C3 E4 |: zn) J
1.15.4 碰撞检测
1.15.5 记分实现
1.15.6 实现游戏暂停
1.15.7 进入网站营销有哪些分数场景
|