CocosCreator手記02——Examples中文註釋目錄

23f0.pngCocosCreator1.5

1f6e0.png引擎自帶的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發佈新版本再拿



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章