本文共 7106 字,大约阅读时间需要 23 分钟。
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.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 交叉引用│ │ 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_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发布新版本再拿
转载地址:http://avunx.baihongyu.com/