cocos2d-x中場景間的引數保持和傳遞(方法整理)
有時為了在場景間傳遞引數,象一些狀態資訊比如音樂的AudioID等,整理一下場景間引數傳遞的方式
方式一、使用全域性變數
利用全域性變數的方式對變數進行場景間的傳遞,簡單且粗暴。可以定義一個類專門來存放需要傳遞的引數,在各場景類中只需要include一下就可以直接對全域性變數進行訪問和賦值。
示例如下:
新建一個全域性變數的類:
標頭檔案GlobalVar.h:
// GlobalVar.h#ifndef __BabyLearnABC__GlobalVar__
#define __BabyLearnABC__GlobalVar__
#include <stdio.h>
extern int g_BgAudioID;
extern bool g_IfBgAudioReady;
extern bool g_IfReTurnToPortal;
#endif /* defined(__BabyLearnABC__GlobalVar__) */
ccp檔案是對全域性變數進行初始化:
// GlobalVar.cpp
#include "GlobalVar.h"
int g_BgAudioID=999999;
bool g_IfBgAudioReady=false;
bool g_IfReTurnToPortal=false;
在場景檔案中只需要#include GlobalVar.h就可以對全域性變數進行操作了。
未完待續
相關推薦
cocos2d-x中場景間的引數保持和傳遞(方法整理)
有時為了在場景間傳遞引數,象一些狀態資訊比如音樂的AudioID等,整理一下場景間引數傳遞的方式 方式一、使用全域性變數 利用全域性變數的方式對變數進行場景間的傳遞,簡單且粗暴。可以定義一個類專門來存放需要傳遞的引數,在各場景類中只需要include一下就可以直接對全域性變
touch事件中的touches、targetTouches和changedTouches(詳解)
touches: 當前螢幕上所有觸控點的列表; targetTouches: 當前物件上所有觸控點的列表; changedTouches: 涉及當前(引發)事件的觸控點的列表 通過一個例子來區分
js中關於this的理解和應用(選項卡)
this的定義:在JavaScript中this表示函式執行的時候自動生成的一個內部物件,只能在函式內部使用。 簡單例子 <script type="text/javascript"> alert(this); //window &
C++面向物件程式設計——類和物件(個人整理)
物件: object 客觀世界中任何一個事物都可以看成一個物件,如自然物體(汽車,房子,班級...) 可以看到一個班級作為一個物件有兩個要素: 1、班級所屬系和專業,人數等靜態特徵(屬性); 2、班
Cocos2d-X中的聲音和音效
循環 volume tid ng- cocos2d pop sin 返回值 source 在玩遊戲時都會有各種遊戲音,如啟動遊戲時會有背景音,勝利或者失敗會有一些音效。在Cocos2d-X中能夠使用CocosDenshion實現各種聲音 在使用CocosDensh
Cocos2d-x 中的Sleep 和USleep
Cocos2d-x跨平臺,但是這個Sleep延時需要區分平臺 (不知道是不是我自己沒有找到),還是
Cocos2d-x中2.x和3.x的粒子系統的比較
/* // Cocos2d-x-2.x CCSize size = CCDirector::sharedDirector()->getWinSize(); ParticleSystemQuad* m_emitter = ParticleSystemQuad::createWit
cocos2d-x的場景類和生命週期
在上一篇的文章已經通過程式碼分析了場景的跳轉是在主迴圈中setNextScene進行呼叫的,那麼在跳轉時便會開始呼叫生命週期函式。主要由以下四個函式組成 onEnter、onEnterTransitionDidFinish、onExitTransitionDidStart、
cocos2d-x 中新增顯示文字的三種方式 LabelTTF 、LabelBMFont 和 LabelAtlas
在 cocos2d-x 中有三個類可以在層或精靈中新增文字: LabelTTFLabelBMFontLabelAtlas LabelTTF 直接支援使用 TTF 字型檔,可以支援全部的中文,但是效率稍低。LabelBMFont 適合顯示特定的文字,通過預先將文字生成圖片,
Cocos2d-x中Vector<T>容器以及實例介紹
top 宋體 hello 操作符 模板類 log ins bsp main Vector<T> 是Cocos2d-x 3.x推出的列表容器,因此它所能容納的是Ref及子類所創建的對象指針,其中的T是模板,表示能夠放入到容器中的類型,在Cocos2d-x 3.x
cocos2d-x 中XML解析與數據存儲
lba false 網上 unsigned failed popu new ccm cfile 一不小心就玩了一周的遊戲了。哎。玩的時候時間過得總是這麽快。。。 於是今天決定看一下之前不怎麽非常熟悉的XML;(之前做遊戲時數據的儲存用到過XML,但這塊是還有一個同事在做
linux下開發,解決cocos2d-x中編譯出現的一個小問題, undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
water span x86 code bject data- ace 技術分享 inux 解決cocos2d-x中編譯出現的一個小問題 對於cocos2d-x 2.×中編譯中,若頭文件裏引入了#include "cocos-ext.h",在進行C++編譯的時候會遇到例
實例介紹Cocos2d-x中Box2D物理引擎:碰撞檢測
函數實現 pda creates pty blank oid rtu and 重構 在Box2D中碰撞事件通過實現b2ContactListener類函數實現,b2ContactListener是Box2D提供的抽象類,它的抽象函數:virtual void BeginC
Cocos2d-X中Menu的綜合運用
cond edi ros log 程序 cal coo 項目 綜合 今天將曾經寫的代碼和項目集成到了一個菜單中,能夠通過菜單切換到曾經做的項目 程序的project文件夾 主要代碼分析: LessonMenu.h中實現創建菜單,遍歷菜單通過菜單切換
實例介紹Cocos2d-x中Box2D物理引擎:HelloBox2D
pre all align 討論 響應 算法 站點 virtual origin 我們通過一個實例介紹一下。在Cocos2d-x 3.x中使用Box2D物理引擎的開發過程,熟悉這些API的使用。這個實例執行後的場景如圖所看到的,當場景啟動後,玩家能夠觸摸點擊屏幕,每次觸
cocos2d-x win8下的環境配置和建立項目
cts ear bat article VS2010 移植 reat 還得 cocos cocos2dx 跨平臺。可是看網上說開發最合適還是在vs2010中,基本是編完後再移植到安卓。 1.去官網下載源代碼2.2.3版本號的。 2.然後運行根文件夾下的build
Mac OS X中Launchpad的圖標添加刪除方法(添加方法別試了,和Linux很大區別)
com nsh usr folders 單純 ron bsp blank 結構 說明:在Mac下的Launchpad圖標添加和刪除都與應用程序的app文件有關,如果單純的只想在Launchpad添加自定義的圖標,然後指定要某條命令運行時,建議不要這麽幹,Launchpad的
cocos2d-x 中選單類
選單相關類包含:選單類和選單項類,選單類圖,從類圖可見Menu類繼承於Layer。 選單項類圖,從圖中可見所有的選單項都是從BaseMenuItem繼承而來的,BaseMenuItem是抽象類,具體使用時是使用它的6個子類。 說明如下: MenuItem 最基本的選單
Python進階(二十四)-Python中函式的引數定義和可變引數
分享一下我的偶像大神的人工智慧教程!http://blog.csdn.net/jiangjunshow 也歡迎轉載我的文章,轉載請註明出處 https://blog.csdn.net/mm2zzyzzp Python進階(二十四)-Python中函式的引數定義
Cocos2d-x中的4種佈局
Cocos2d-x中一共有4種佈局:ABSOLUTE(絕對佈局)、HORIZONTAL(水平佈局)、VERTICAL(垂直佈局)和RELATIVE(相對佈局)。 注意,只有在絕對佈局內部,元件使用setPosition()方法來指定其位置。另外三種佈局中的元件,setP