cocos2d x RichText 真實高度

2021-07-07 11:04:31 字數 2100 閱讀 9914

cocos2d-x

版本3.8

在richtext自動換行後,發現不能得到真實高度,檢視原始碼發現算出了實際高度,但確沒用上,都多少個版本了,還沒完善

void richtext::formarrenderers()

this->setcontentsize(size(newcontentsizewidth, newcontentsizeheight));

}else

maxheights[i] = maxheight;

newcontentsizeheight += maxheights[i];//這裡 算出了實際高度,但確沒用上

}float nextposy = _customsize.height;

for (size_t i=0; i<_elementrenders.size(); i++)

}delete maxheights;

}size_t length = _elementrenders.size();

for (size_t i = 0; i* l = _elementrenders[i];

l->clear();

delete l;

}

_elementrenders.clear();

if (_ignoresize)

else

updatecontentsizewithtexturesize(_contentsize);

}

只有自己動手了

在richtext.h中加

size _rendersize;

size& getrendersize();

void setrendersize(const size &size);

在richtext.cpp中改formarrenderers()

void richtext::formarrenderers()

this->setcontentsize(size(newcontentsizewidth, newcontentsizeheight));

this->setrendersize(size(newcontentsizewidth, newcontentsizeheight)); //這裡加一行

}else

maxheights[i] = maxheight;

newcontentsizeheight += maxheights[i];

}float nextposy = _customsize.height;

for (size_t i=0; i<_elementrenders.size(); i++)

}this->setrendersize(size(_contentsize.width, newcontentsizeheight));//這裡把沒用上的newcontentsizeheight用上

delete maxheights;

}size_t length = _elementrenders.size();

for (size_t i = 0; i* l = _elementrenders[i];

l->clear();

delete l;

}

_elementrenders.clear();

if (_ignoresize)

else

updatecontentsizewithtexturesize(_contentsize);

}

再實現

size& richtext::getrendersize()

void richtext::setrendersize(const size &size)

ok了,實際高度有了,發現getreadersize()還是不對,繼續查原始碼

發現adaptrenderers()是在widget的visit()裡呼叫的,也就是說當前楨不會被呼叫,這就好辦了,在richtext pushbackelement 之後顯示的呼叫一下formattext()就ok了,

cocos2dx CCScrollView使用示例

總的來說,就是有乙個容器container 錨點 0,0 大小 為全部內容的大小 scrollview 大小,錨點,setdelegate 視窗大小 setviewsize 設定容器 setcontainer 方向 ccnode m pmedalcontainer ccscrollview m ps...

cocos2d實現語音 Cocos2d 聲音API

param url 聲音路徑 cc.audioengine.playmusic url loop 停止背景 param releasedata 是否釋放聲音資料,預設為false cc.audioengine.stopmusic releasedata 暫停背景 cc.audioengine.pau...

Cocos2d x教程第 14 講 Cocos2d

cocos2d x 2.2.0之前的版本常用的json解析的三方庫一般是 jsoncpp 2.2.x的版本中已經包含了jsoncpp的庫,但是卻把名字給換了,導致引入jsoncpp庫的同志們發生各種衝突.完成上述操作後就可以盡情發揮了.下面讓我們來認識一下幾個主要的類 value value 類建立...