CocosCreator1.5

引擎自带的Examples


任何游戏引擎的都会有一套例子库。用于展示引擎的功能和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.firewebp格式(PC上Chrome可用,内含平台检测代码可供参考)│├─02_uiUI系统│├─01_widget对齐挂件(widget本意是小部件)││AdvancedWidget.fire高级挂件的定位演示(边缘停靠)││AlignOnceWidget.fireAlignOnce属性(仅对齐一次)││AnimatedWidget.fire挂件动画││AutoResize.fire挂件自动调整大小(该例子可能有问题,和Tips描述不一致)││WidgetAlign.fire挂件对齐,此例子似乎与AdvancedWidget内容重复│││├─02_label文本标签││AlignFontLabel.fire文本对齐(使用系统字体)││BitmapFontLabel.fire位图字体标签││LabelAtlas.fire图集标签(一般用于纯数字显示,比如伤害数字,一般是等宽字体)││SystemFontLabel.fire系统字体标签(界面类似BitmapFontLabel,字体跟AlignFontLabel一样)│││├─03_button按钮││ButtonInScroll.fireScrollView上面的按钮││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.fireTab键切换文本框焦点(仅web下有效)│││├─09_videoplayer视频播放器(不支持Mac和Windows,支持移动端和Web)││fullscreenVideo.fire全屏播放演示││videoPlayer.fire各种控制功能演示(播放,暂停,全屏等)│││├─10_webviewweb视图(不支持Mac和Windows,支持移动端和Web)││webview.fire│││├─11_richtext富文本││RichText.fire普通演示││RichTextEvent.fire点击事件││RichTextImage.fire图文混排│││├─12_slider滑块││Slider.fire水平滑块,垂直滑块│││├─13_toggle切换开关││Toggle.fireCheckBox复选框,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_schedulerCocos2d-x中的计时器(不是js中的计时器)││scheduler.fire(和cocos环境结合的更好,更容易获得上下文)│││├─05_cross_reference交叉引用││Cro***eference.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_loadingBarloading条││loadingBar.fire(配合cc.loader实现资产加载并显示在loading条)│││├─11_network网络(附带SocketIO插件)││downloader.fire下载器演示(下载txt和图片,不支持Web)││network.fire(XMLHttpRequest,WebSocket,SocketIO演示)│││└─12_pool对象池(一种封装好的快速开发对象,和Prefab配合,节约内存提高效率,不用自己手动实现)│nodePool.fire(点击小怪物停止移动,再点继续移动,使用了unuse和reuse回调)│├─anysdkanysdk触控的第三方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│├─spineSpine动画编辑器支持│SpineBoy.fire普通演示│SpineMesh.fire网格动画│└─tiledmap瓦片地图Puzzle.fire迷宫游戏演示(渲染,碰撞,滚屏等)


最新消息是,官方沟通对于例子问题也很重视,有些小错误都会马上修复,关于例子,是有专门的Github仓库的,在主页上可以找到,不用等CCC发布新版本再拿