cocos的Director、Scence、Layer(一)---摘自於官方文檔

来源:http://www.cnblogs.com/cmj97/archive/2017/02/04/6366242.html
-Advertisement-
Play Games

基本結構圖(重要) Director: 有那些作用? OpenGL ES的初始化,場景的轉換,游戲暫停繼續的控制,世界坐標和GL坐標之間的切換,對節點(游戲元素)的控制,游戲數據的保存調用,屏幕尺寸的獲取 控制場景的常用方法 runWithScene( Scene *scene ) 啟動游戲,並運行 ...


基本結構圖(重要)

Director:

  有那些作用? 

  OpenGL ES的初始化,場景的轉換,游戲暫停繼續的控制,世界坐標和GL坐標之間的切換,對節點(游戲元素)的控制,游戲數據的保存調用,屏幕尺寸的獲取

  控制場景的常用方法 

  • runWithScene( Scene *scene ) 啟動游戲,並運行scene場景。本方法在主程式第一次啟動主場景的時候調用。如果已有正在運行的場景則不能調用該方法;會調用pushScene-->startAnimation。

  • pushScene( Scene *scene ) 將當前運行中的場景暫停並壓入到代碼執行場景棧中,再將傳入的scene設置為當前運行場景,只有存在正在運行的場景時才調用該方法;

  • replaceScene( Scene *scene ) 直接使用傳入的scene替換當前場景來切換畫面,當前場景被釋放。這是切換場景時最常用的方法。

  • popScene() 釋放當前場景,再從代碼執行場景中彈出棧頂的場景,並將其設置為當前運行場景。如果棧為空,直接結束應用。和PushScene結對使用

  • end() 釋放和終止執行場景,同時退出應用

  • pause() 暫停當前運行場景中的所有計時器和動作,場景仍然會顯示在屏幕上

  • resume () 恢復當前運行場景的所有計時器和動作,場景仍然會顯示在屏幕上

Scence:

  構建不同場景

Layer:

  Layer是處理玩家事件響應的Node類。

  層中主要放置什麼?

  精靈,文本標簽或者其他游戲元素,並設置游戲元素的屬性,比如位置,方向和大小 設置游戲元素的動作,游戲相關的邏輯代碼

  如何將層運用到場景中?

  在場景中添加層,addchild方法

  創建層-->設置大小-->位置-->添加到場景中

auto layer = LayerColor::create(Color4B(0, 128, 128, 255));
layer->setContentSize(CCSizeMake(120, 80));
layer->setPosition(Point(50, 50));
addChild(layer, 10);

Sprite:

  可以移動,旋轉,縮放,執行動畫,並接受其他轉換

  作用流程:

  使用Texture2D載入圖片,可以用Texture2D生成對應的SpriteFrame(精靈幀),將SpriteFrame添加到Animation生成動畫數據,用Animation生成Animate(就是最終的動畫動作),最後用Sprite執行這個動作。

  創建精靈的幾種方式:

  

//直接創建
 Sprite::create("HelloWorld.png");
//紋理創建
Sprite::createWithTexture(TextureCache::getInstance()->addImage("HelloWorld.png"));
//精靈幀創建
Sprite::createWithSpriteFrameName("HelloWorld.png");

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 0x00什麼是Accessibility(輔助功能) 考慮到部分用戶不能很好地使用Android設備,比如由於視力、身體、年齡方面的限制,造成閱讀內容、觸控操作、聲音信息等方面的獲取困難,Android提供了Accessibility特性和服務幫助用戶更好地使用Android設備。 依據Androi ...
  • iOS 獲取西曆、農曆日期的年月日 介紹三種方法獲取 Date (NSDate) 的年月日。 用 date 表示當前日期。測試日期為西曆 2017 年 2 月 5 日,農曆丁酉年,雞年,正月初九。 獲取西曆年月日 用 Calendar (NSCalendar) 獲取西曆年月日 結果 用 Calend ...
  • 微信公眾平臺有4類賬號:訂閱號、服務號、企業號及小程式。訂閱號和服務號統稱為公眾號。 訂閱號的註冊主體可以為個人,但現在已關閉個人認證。服務號的註冊主體不能為個人。 在介面許可權方面,服務號比訂閱號多支持以下介面:模板消息(業務通知)、獲取用戶地理位置、生成帶參數的二維碼、長鏈接轉短鏈接介面、語義理解... ...
  • git詳解 git是從android出現,就作為版本管理工具。由於很多人從svn開始使用,簡單的check in & check out操作,很難理解和適應通過命令行操作的git的管理。 所以很多人繼續使用圖形界面的git管理工具,尤其android studio自帶git的圖形操作界面,使得很多人 ...
  • Activity Activity 本文內容 創建 Activity 實現用戶界面 在清單文件中聲明 Activity 啟動 Activity 啟動 Activity 以獲得結果 結束 Activity 管理 Activity 生命周期 實現生命周期回調 保存 Activity 狀態 處理配置變更 ...
  • 示例代碼: view.setTag(R.string.action_settings,hodler.content); 接收兩個值,一個是key值,必須是唯一值,而且要寫在values/string.xml 裡面,例如 <resources> <item type ="id" name = "fff ...
  • 英文原文:Picking your compileSdkVersion, minSdkVersion, and targetSdkVersion 作者:Ian Lake,Google Android 推廣工程師;翻譯:南韓愷。 當你發佈一個應用之後,(取決於具體的發佈時間)可能沒過幾個月 Andro ...
  • 安卓常用數據存儲方式之一SQLite學習及操作筆記 0.視頻地址:http://www.imooc.com/video/3382 1.每個程式都有自己的資料庫 預設情況下是各自互不幹擾 1)創建一個資料庫並且打開; 2)使用游標cursor相當於存儲結果的集合,可理解為list; 3)結束後必須釋放 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...