CocosCreator1.5
引擎自带的Examples
任何游戏引擎的都会有一套例子库。用于展示引擎的功能和API的用法。
最近看CocosCreator引擎附带的例子库。目前来说这套Cocos系列引擎的最新版,很有诚意,对比老引擎。加入了很多新的内容。比如资源下载器装载器,各种布局管理工具。预制资源。网络库。碰撞系统。也预留了扩展接口。当然整个引擎也支持插件式扩展。
可惜的是,这份例子是1.5版的,但是没有演示1.5新加的功能,比如物理引擎,摄像机等。另外,个别例子需要对应平台才能跑,在有些平台跑不了。有些例子功能重复,或无法正确演示。但这些都是小问题。
对不熟悉Cocos引擎的策划和美术,我习惯于一般把例子程序打个包发过去让他们熟悉。而CocosCreator是现代游戏开发工具,基本上是全民皆兵,所有人都会上手,就直接上编辑器看好了。例子列表用的是英文列表,说明文字也不全,简单整理了一份中文注释目录,对策划和美术来说,应该有一定参考价值。
里面有些设计是参考Web开发,我并非Web开发者,用词可能不准确:)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
|
E:.
├─01_graphics 图形
│ ├─01_sprite 精灵组件相关例子
│ │ AnchorPoint.fire 锚点
│ │ AtlasSprite.fire 图集使用
│ │ FilledSprite.fire 填充渲染模式
│ │ SimpleSprite.fire 普通渲染模式
│ │ SlicedSprite.fire 九宫格渲染模式
│ │ TiledSprite.fire 平铺渲染模式
│ │ TrimmedSprite.fire 图像资源的自动剪裁
│ │
│ ├─02_particle 粒子系统
│ │ AutoRemoveParticle.fire “完成时自动移除”功能
│ │ ToggleParticle.fire 切换粒子显示
│ │
│ └─03_texture_format 特殊图片格式
│ webp-
test
.fire webp格式(PC上Chrome可用,内含平台检测代码可供参考)
│
├─02_ui UI系统
│ ├─01_widget 对齐挂件(widget本意是小部件)
│ │ AdvancedWidget.fire 高级挂件的定位演示(边缘停靠)
│ │ AlignOnceWidget.fire AlignOnce属性(仅对齐一次)
│ │ AnimatedWidget.fire 挂件动画
│ │ AutoResize.fire 挂件自动调整大小(该例子可能有问题,和Tips描述不一致)
│ │ WidgetAlign.fire 挂件对齐,此例子似乎与 AdvancedWidget内容重复
│ │
│ ├─02_label 文本标签
│ │ AlignFontLabel.fire 文本对齐(使用系统字体)
│ │ BitmapFontLabel.fire 位图字体标签
│ │ LabelAtlas.fire 图集标签(一般用于纯数字显示,比如伤害数字,一般是等宽字体)
│ │ SystemFontLabel.fire 系统字体标签(界面类似BitmapFontLabel,字体跟AlignFontLabel一样)
│ │
│ ├─03_button 按钮
│ │ ButtonInScroll.fire ScrollView上面的按钮
│ │ ButtonInteractable.fire 按钮的交互性演示(脚本+回调函数实现类似radiobutton的效果)
│ │ SimpleButton.fire 普通按钮(演示按钮的基本属性,形状,变色,事件交互等功能)
│ │
│ ├─04_progressbar 进度条
│ │ progressbar.fire 进度条
│ │
│ ├─05_scrollView 滚动视图
│ │ ListView.fire 列表视图
│ │ ScrollView.fire 滚动视图
│ │
│ ├─06_layout 布局容器
│ │ ├─Layout_None 普通布局
│ │ │ Layout_None_Basic.fire 基本布局
│ │ │ Layout_None_Grid.fire 网格布局
│ │ │ Layout_None_Horizontal_Vertical.fire 水平布局和垂直布局
│ │ │
│ │ ├─Layout_ResizeChildren 缩放子节点
│ │ │ Layout_ResizeChildren_Grid.fire 网格布局
│ │ │ Layout_ResizeChildren_Normal.fire 水平布局和垂直布局
│ │ │
│ │ ├─Layout_ResizeContainer 缩放容器
│ │ │ Layout_ResizeContainer_Basic.fire 基本布局
│ │ │ Layout_ResizeContainer_Grid.fire 网格布局
│ │ │ Layout_ResizeContainer_Normal.fire 水平布局和垂直布局
│ │ │
│ │ └─Layout_ScrollView 滚动视图
│ │ Layout_ScrollViewGrid.fire 网格布局
│ │ Layout_ScrollViewNormal.fire 基本布局
│ │
│ ├─07_change_canvas_anchor 改变canvas锚点
│ │ BottomLeftAnchor.fire 通过添加空节点来改变canvas锚点,适合很多对锚点有特别要求的游戏
│ │
│ ├─08_editBox 文本框
│ │ EditBox.fire 文本框类型演示(单行,密码,多行)
│ │ EditBoxTabIndex.fire Tab键切换文本框焦点(仅web下有效)
│ │
│ ├─09_videoplayer 视频播放器(不支持Mac和Windows,支持移动端和Web)
│ │ fullscreenVideo.fire 全屏播放演示
│ │ videoPlayer.fire 各种控制功能演示(播放,暂停,全屏等)
│ │
│ ├─10_webview web视图(不支持Mac和Windows,支持移动端和Web)
│ │ webview.fire
│ │
│ ├─11_richtext 富文本
│ │ RichText.fire 普通演示
│ │ RichTextEvent.fire 点击事件
│ │ RichTextImage.fire 图文混排
│ │
│ ├─12_slider 滑块
│ │ Slider.fire 水平滑块,垂直滑块
│ │
│ ├─13_toggle 切换开关
│ │ Toggle.fire CheckBox复选框,RadioBox单选框
│ │
│ ├─14_pageView 翻页视图
│ │ PageView_Free_Horizontal.fire 自由型,水平
│ │ PageView_Free_Vertical.fire 自由型,垂直
│ │ PageView_Unified_Horizontal.fire 统一型,水平
│ │ PageView_Unified_Vertical.fire 统一型,垂直
│ │
│ └─15_mask 遮罩(把被遮罩物拖到上层,容易看清原来的样子)
│ Mask_ELLIPSE.fire 椭圆形
│ Mask_IMAGE_STENCIL.fire 图片模板
│ Mask_NESTED.fire 嵌套使用遮罩
│ Mask_RECT.fire 矩形
│
├─03_gameplay 游戏性
│ ├─01_player_control 角色控制
│ │ DeviceMotion.fire 重力传感(只支持移动平台)
│ │ KeyboardInput.fire 按键输入(监听按键的标准写法)
│ │ OnMultiTouchInput.fire 多点触摸(只支持移动平台)
│ │ OnTouchInput.fire 触摸
│ │
│ ├─02_actions 动作指令(动作指令例子较少,不过动作指令的内容基本没变化,可参考以前的资料)
│ │ MoveAction.fire 移动
│ │ RepeatAction.fire 重复执行
│ │ RotationAction.fire 旋转
│ │ SimpleAction.fire 简单的动作(注意动作指令的调用方法有变)
│ │
│ └─03_animation 动画
│ AnimateCustomProperty.fire 自定义动画属性(通过动画操作数值变化,通过脚本读取数值来设置显示)
│ AnimationCallback.fire 动画回调(回调触发类型挺多的)
│ AnimationEvent.fire 动画事件
│ CreateClip.fire 动态创建动画剪辑
│ MoveAnimation.fire 移动动画
│ SpriteAnimation.fire 精灵帧动画
│
├─04_audio 音频
│ SimpleAudio.fire 简单的音频(AudioSource演示播放背景音乐,AudioEngine演示播放音效和audioClip的使用)
│
├─05_scripting 脚本
│ ├─01_properties 属性检查器
│ │ NodeArray.fire 节点数组
│ │ NonSerialized.fire 序列化与非序列化(通过编辑器设置变量和通过脚本设置变量的区别)
│ │ ReferenceType.fire 引用类型(不用运行时演示)
│ │ ValueType.fire 值类型(不用运行时演示)
│ │
│ ├─02_prefab 预置资源
│ │ InstantiatePrefab.fire 实例化预置资源(使用脚本代码演示,复用编辑好的节点)
│ │
│ ├─03_events 事件
│ │ EventInMask.fire 遮罩下的事件
│ │ SimpleEvent.fire 普通事件(点击,鼠标,自定义)
│ │ TouchPropagation.fire 触摸事件冒泡(来自Web的相关概念)
│ │
│ ├─04_scheduler Cocos2d-x中的计时器(不是js中的计时器)
│ │ scheduler.fire(和cocos环境结合的更好,更容易获得上下文)
│ │
│ ├─05_cross_reference 交叉引用
│ │ CrossReference.fire (通过编辑器绑定参数和ES6箭头函数,演示两个节点交叉引用)
│ │
│ ├─06_life_cycle 生命周期
│ │ life_cycle.fire (只是演示了一个带回调的action,和标题不太相符)
│ │
│ ├─07_asset_loading 资产加载
│ │ AssetLoading.fire 资产加载(演示了很多类型的资产如何加载如何创建对象并显示,标准写法,比较有参考价值)
│ │ LoadRes.fire 普通资产和预置资产的加载区别
│ │ LoadResDir.fire 按文件夹装载资产
│ │
│ ├─08_module 模块
│ │ load_module.fire 加载模块(加载图片和JSON数据,刷新怪物)
│ │
│ ├─09_singleton 单例
│ │ Singleton.fire 一种单例写法(不用运行时演示)
│ │
│ ├─10_loadingBar loading条
│ │ loadingBar.fire (配合cc.loader实现资产加载并显示在loading条)
│ │
│ ├─11_network 网络(附带SocketIO插件)
│ │ downloader.fire 下载器演示(下载txt和图片,不支持Web)
│ │ network.fire (XMLHttpRequest,WebSocket,SocketIO演示)
│ │
│ └─12_pool 对象池(一种封装好的快速开发对象,和Prefab配合,节约内存提高效率,不用自己手动实现)
│ nodePool.fire (点击小怪物停止移动,再点继续移动,使用了unuse和reuse回调)
│
├─anysdk anysdk触控的第三方sdk接入解决方案(略)
│ 01_user.fire
│ 02_iap.fire
│ 03_share.fire
│ 04_ads.fire
│ 05_analytics.fire
│ 06_social.fire
│ 07_push.fire
│ 08_adtracking.fire
│ 09_crash.fire
│ 10_rec.fire
│
│
├─collider 碰撞系统
│ Category.fire 碰撞组演示
│ Hittest.fire 点击测试
│ platform.fire 跳台游戏演示
│ Shape.fire 不同形状碰撞组件(圆形,矩形,多边形)
│ Shooter.fire 射击游戏演示(演示子弹使用)
│ Tag.fire 碰撞组件的Tag属性
│
├─dragonbones 龙骨动画编辑器支持
│ DragonBones.fire 普通演示
│ DragonMesh.fire 网格动画
│
├─graphics 几何绘图
│ ├─demo
│ │ doodle.fire 涂鸦
│ │ sine-waves.fire 正弦波
│ │
│ └─example
│ arc.fire 弧形
│ ellipse.fire 椭圆
│ linejoin.fire 参数很多,画线效果更好(这部分可参考HTML5Canvas画线)
│ lineTo.fire 简单画线
│ rect.fire 矩形
│
├─motionStreak 拖尾
│ MotionStreak.fire (只支持WebGL模式,但是似乎在哪个平台都无法显示)
│
├─native_call 本地调用(只支持Android)
│ Native_Call.fire
│
├─spine Spine动画编辑器支持
│ SpineBoy.fire 普通演示
│ SpineMesh.fire 网格动画
│
└─tiledmap 瓦片地图
Puzzle.fire 迷宫游戏演示(渲染,碰撞,滚屏等)
|
最新消息是,官方沟通对于例子问题也很重视,有些小错误都会马上修复,关于例子,是有专门的Github仓库的,在主页上可以找到,不用等CCC发布新版本再拿
本文转自 老G 51CTO博客,原文链接:http://blog.51cto.com/goldlion/1931794,如需转载请自行联系原作者