Cocos2dx中的資料型別轉換

2021-06-22 11:54:28 字數 2772 閱讀 3345

在做資料轉換時,最好包含以下標頭檔案

在2d-x中,也有乙個格式刷:ccstring(資料轉換常常找她做中間人)

那麼我們要轉換型別,

可先將起始資料型別刷成ccstring然後再轉成目的資料型別,

這個方法比較方便且實用。

int 轉 ccstring

int num=5;

ccstring* ns=

ccstring::

createwithformat(

"%d",num);

ccstring

轉  int

int px = ns->

intvalue();

//將ccstring 轉換為int的方法,轉成float型別有 floatvalue()

***********************************===

ccstring 轉  

char

const char *string= ns->getcstring

();char

轉   ccstring

cstring.format(」%s」,char *)//char 轉cstring 

ccstring

* ns=

ccstring

::createwithformat

("%s"

,char *);

***********************************===

string 轉  char

const

char

*string

=std

::string

("string"

).c_str

();

char 

轉 string

string s(char *);

***********************************===

string  轉 int

std::string s("1234");

int n = std::atoi(s.c_str());

//函式原型

int atoi(const char *);

int 轉 string

int a=3;

ccstring* ns=ccstring::createwithformat("%d",a);

string s=ns->m_sstring;

***********************************===

string 

轉 ccstring

std::string str = "123";

ccstring

* ns=

ccstring

::createwithformat

("%s"

,str

.c_str

());

ccstring 

轉 string

std::

string

s= ns->

m_sstring

;//ns是乙個

ccstring

*型別***********************************===

char 轉  int

char

*buf =

"1122";

intn = 

std::

atoi

(buf);

int 轉 char

int a=3;

ccstring* ns=ccstring::createwithformat("%d",a);

const

char* s=ns->getcstring();

這裡額外提一下,ios在參與跨平台用到的編碼格式轉換

const char*

char_url;  

const char*

char_parameter;

格式刷:

nsstring *endstr=[nsstring stringwithformat:@"%@?%@",char_url,char_parameter];

轉換編碼格式為utf-8

endstr=[endstr stringbyaddingpercentescapesusingencoding:nsutf8stringencoding];//解決中文編碼

nsstring  轉  char*

const char *char_gurl = [endstr cstringusingencoding:nsutf8stringencoding];

char* 轉 nsstring

const char* gameobject;

nsstring *char_gameobject = [[nsstring alloc] initwithcstring:(const char*)gameobject

encoding:nsutf8stringencoding];

char* 轉 url

const char* url;

nsstring *char_url = [[nsstring alloc] initwithcstring:(const char*)url

encoding:nsutf8stringencoding];

nsurl* url=[nsurl urlwithstring:char_url];

轉 cocos2dx記憶體優化

cocos2dx裡面,sprite本身不消耗多少記憶體,只是關聯的材質檔案消耗記憶體。假設有10個sprite關聯同乙個材質,也不會有10倍消耗。關於占用的材質記憶體,我覺得還有好幾種優化手段 1 對於背景圖,因為不需要考慮透明問題。載入材質時可以使用 rgb565 格式 5位紅色,6位綠色,5位藍...

cocos2d x中的精靈

所有的遊戲都有 sprites 精靈,你可能知道或者不知道它們是什麼。精靈就是遊戲中在場景裡進行移動的物件。你可以操縱它們。精靈可能是遊戲中最主要的角色。我知道你在想什麼 難道每乙個圖形物件都是精靈sprite嗎?當然不是!為什麼?當你操縱乙個精靈的時候,它就是乙個精靈。如果你不對它進行操作,那它就...

Cocos2d x中的精靈

精靈的繼承關係 1.減少檔案讀取次數 2.減少opengl es繪製呼叫並且加速渲染 3.減少記憶體消耗 運用集方式為什麼會減少記憶體碎片?通常使用zwoptex和texturepacker設計和生成紋理圖集檔案,以及紋理圖集座標檔案 plist 組成。使用精靈幀快取 有以下幾種 1.紋理快取 2....