任何游戏引擎的都会有一套例子库。用于展示引擎的功能和API的用法。
最近看CocosCreator引擎附带的例子库。目前来说这套Cocos系列引擎的最新版,很有诚意,对比老引擎。加入了很多新的内容。比如资源下载器装载器,各种布局管理工具。预制资源。网络库。碰撞系统。也预留了扩展接口。当然整个引擎也支持插件式扩展。
可惜的是,这份例子是1.5版的,但是没有演示1.5新加的功能,比如物理引擎,摄像机等。另外,个别例子需要对应平台才能跑,在有些平台跑不了。有些例子功能重复,或无法正确演示。但这些都是小问题。
对不熟悉Cocos引擎的策划和美术,我习惯于一般把例子程序打个包发过去让他们熟悉。而CocosCreator是现代游戏开发工具,基本上是全民皆兵,所有人都会上手,就直接上编辑器看好了。例子列表用的是英文列表,说明文字也不全,简单整理了一份中文注释目录,对策划和美术来说,应该有一定参考价值。
里面有些设计是参考Web开发,我并非Web开发者,用词可能不准确:)
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 迷宫游戏演示(渲染,碰撞,滚屏等)
时间: 2024-10-08 11:41:27