cocos2d x 公告欄的實現 文字左右移動

2021-06-18 13:04:20 字數 1352 閱讀 2506

新增公告欄的方法(右側出來,左側消失)

公告欄用的是node節點,錨點位置是(0,0),文字資訊使用cclabelttf儲存,錨點位置是(0,0),使用的時候將它加入到node裡面就好了

文字移動的思路是:每次都update公告的cclabelttf的座標,為了讓它從右往左進行移動,右邊欄出來,左邊欄消失,需要設定一下cclabelttf的可顯示區域,cclabelttf::settexturerect函式正是設定label的可顯示區域,因此左右邊界需要特殊處理,解決方法:

// todo:初始化公告欄

void initannouncemsg();

void updatetopannounce(float dt);

ccrect m_informrect;

cclabelttf *m_inform; // 公告欄文字

float m_informscrollx;

// todo:公告欄

void cmainmenu::initannouncemsg()

} ccsize size = m_nodes["node_inform"]->getcontentsize();

m_inform = cclabelttf::create(strinform.c_str(), "arial", 24);

m_inform->setanchorpoint(ccp(0, 0));

m_inform->setposition(ccsize(size.width, 0));

m_informscrollx = size.width;

m_informrect = m_inform->gettexturerect();

m_nodes["node_inform"]->addchild(m_inform);

this->schedule(schedule_selector(cmainmenu::updatetopannounce), 0.01f);

}void cmainmenu::updatetopannounce(float dt)

// 文字從右邊出來

int expose = size.width-m_informscrollx;

if (expose < m_informrect.size.width)

else

// 文字從左邊消失

if (m_informscrollx <= 0)

m_inform->setposition(ccsize(m_informscrollx, 0));

}

cocos2d x實現打字特效

原文請猛戳 這次分享乙個在cocos2d x中實現打字特效的小功能。首先,cocos2d x中label預設是utf8編碼,quickx提供了乙個string.utf8len介面,這裡再加乙個擷取子字串的函式 function utf8str str,start,num local function...

cocos2d x 實現中文輸出

下面我們來說說如何實現中文輸出吧!首先,個人覺得可以新建乙個tools.cpp 和 tools.h 檔案 首先在tools.h ifndef tools h 預定義塊 define tools h include cocos2d.h if cc target platform cc platform...

使用cocos2d x的console實現遠端除錯

使用lua開發有乙個很爽的地方就是可以從控制台實時輸入lua指令來進行除錯,但是之前該方法僅在windows下有效,之前也介紹過,見這裡。研究了下發現cocos2d x是有乙個console類來支援遠端除錯的,哈哈,從此真機除錯也可以很方便了。這裡先介紹下console的關鍵api先 listeno...