新增公告欄的方法(右側出來,左側消失)
公告欄用的是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...