本文整理汇总了C++中CCLabelTTF::release方法的典型用法代码示例。如果您正苦于以下问题:C++ CCLabelTTF::release方法的具体用法?C++ CCLabelTTF::release怎么用?C++ CCLabelTTF::release使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCLabelTTF
的用法示例。
在下文中一共展示了CCLabelTTF::release方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: init
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
if (!CCLayer::init()) {
return false;
}
CCSize s = CCDirector::sharedDirector()->getWinSize();
render_texture_ = CCRenderTexture::create(s.width, s.height,
kCCTexture2DPixelFormat_RGBA8888);
render_texture_->retain();
render_texture_->setPosition(ccp(s.width / 2, s.height / 2));
render_texture_->clear(1.0, 1.0, 1.0, 1.0);
this->addChild(render_texture_);
std::string text = "0123456789";
for (int i = 0; i < 8; i++) {
text += text;
}
CCLabelTTF* label = new CCLabelTTF;
label->initWithString(text.c_str(), "Arial", 18,
CCSizeMake(1000, 0), kCCTextAlignmentLeft);
label->setPosition(ccp(10, 760));
label->setAnchorPoint(ccp(0, 1));
label->setColor(ccc3(0, 0, 0));
render_texture_->begin();
label->visit();
render_texture_->end();
label->release();
return true;
}
示例2: FillLineBySpace
string SpriteWordAndImage::FillLineBySpace(string lineStr)
{
CCLabelTTF * tl = CCLabelTTF::create("", m_fontName, m_fontSize);
float width = 0;
while (width<m_width) {
lineStr += " ";
tl->setString(lineStr.c_str());
width = tl->getContentSize().width;
}
lineStr = lineStr.substr(0,lineStr.length()-1);
tl->release();
return lineStr;
}
示例3: handler_method_drawtext
int Bitmap::handler_method_drawtext( int ptr1,void* ptr2 )
{
Bitmap* bitmap = (Bitmap*)ptr1;
if (NULL==bitmap->p->m_emuBitmap)
return -1;
bool firstdraw = false;
CCRenderTexture* fontRender = (CCRenderTexture*)bitmap->p->m_fontRender;
if (NULL==fontRender)
{
fontRender = CCRenderTexture::create(bitmap->p->m_width,bitmap->p->m_height);
bitmap->getEmuBitmap()->addChild(fontRender);
fontRender->setPosition(ccp(bitmap->p->m_width/2,bitmap->p->m_height/2));
bitmap->p->m_fontRender = fontRender;
fontRender->retain();
firstdraw = true;
//fontRender->getSprite()->getTexture()->setAliasTexParameters();
}
DrawtextStruct* ptr2struct = (DrawtextStruct*)ptr2;
string tmpdrawchar = ptr2struct->str;
// int checknum = atoi(tmpdrawchar.c_str());
// if (checknum!=0)
// {
// char tmp[20]={0};
// sprintf(tmp,"%d",checknum);
// tmpdrawchar = tmp;
// }
CCLabelTTF* label = CCLabelTTF::create(tmpdrawchar.c_str(),ptr2struct->font->getName(),ptr2struct->font->getSize());
//label->getTexture()->setAliasTexParameters();
if (ptr2struct->font)
{
Font* f = ptr2struct->font;
label->setFontName(f->getName());
label->setFontSize(f->getSize());
label->setColor(ccc3(f->getColor()->red*f->getColor()->alpha/255,
f->getColor()->green*f->getColor()->alpha/255,
f->getColor()->blue*f->getColor()->alpha/255));
//label->setOpacity(f->getColor()->alpha);
}
label->setAnchorPoint(ccp(0,1));
label->setDimensions(CCSizeMake(ptr2struct->rect.w,ptr2struct->rect.h));
label->setPosition(ccp(ptr2struct->rect.x,rgss_y_to_cocos_y(ptr2struct->rect.y,bitmap->p->m_height)));
label->setVerticalAlignment(kCCVerticalTextAlignmentCenter);
if (ptr2struct->align == Bitmap::Center)
label->setHorizontalAlignment(kCCTextAlignmentCenter);
else if(ptr2struct->align == Bitmap::Right)
label->setHorizontalAlignment(kCCTextAlignmentRight);
else if (ptr2struct->align == Bitmap::Left)
label->setHorizontalAlignment(kCCTextAlignmentLeft);
// CCLayerColor* masklayer = CCLayerColor::create(ccc4(255,255,255,255));
// masklayer->setContentSize(label->getContentSize());
// masklayer->setPosition(ccp(ptr2struct->rect.x,rgss_y_to_cocos_y(ptr2struct->rect.y,bitmap->m_height)-masklayer->getContentSize().height));
// ccBlendFunc fun = {GL_ZERO,GL_ZERO};
// masklayer->setBlendFunc(fun);
fontRender->begin();
//masklayer->visit();
label->visit();
fontRender->end();
label->release();
delete ptr2struct;
return 0;
}
示例4: AddLabel
void SpriteWordAndImage::AddLabel()
{
for (int i=0; i<15; i++) {
m_Imgs[i].clear();
}
CCLabelTTF * tl = CCLabelTTF::create("", m_fontName, m_fontSize);
//生成代替图片的空格
string imgWord = " ";
tl->setString(imgWord.c_str());
float imgWidth = tl->getContentSize().width;
while (imgWidth < image_width) {
imgWord += " ";
tl->setString(imgWord.c_str());
imgWidth = tl->getContentSize().width;
}
string oriStr = m_label;
string outStr = "";
string lineStr = "";
BYTE wordBegin = 0;
BYTE imgIndex = 0;
BYTE lineIndex = 1;
float width = 0;
float height = 0;
float lineHeight = line_height;
bool isImage = false;
int count = CommonFunction::calcCharCount(oriStr.c_str());
for (int i=0; i<count; i++) {
string word = CommonFunction::subString(oriStr, i,1);
if (word.c_str()[0] == '[' && i+2<count) {
string nimg;
int end = i+1;
while (CommonFunction::subString(oriStr, end,1).c_str()[0] != ']' && end < count) {
end++;
}
if (CommonFunction::subString(oriStr, end,1).c_str()[0] == ']') {
m_Imgs[imgIndex].nUsed = true;
m_Imgs[imgIndex].nImg = CommonFunction::subString(oriStr,i+1,end-i-1);
word = imgWord;
i = end;
isImage = true;
}
}
lineStr += word;
tl->setString(lineStr.c_str());
if (colorType == CT_Black) {
tl->setColor(CC_Black);
}
width = tl->getContentSize().width;
if (width > m_width) { //判断是否要换行
CCLabelTTF * l = CCLabelTTF::create(outStr.c_str(), m_fontName, m_fontSize);
l->setAnchorPoint(ccp(0,0.5));
if (colorType == CT_Black) {
l->setColor(CC_Black);
}
l->setPosition(ccp(0, height - lineHeight*0.5));
addChild(l);
height -= lineHeight;
lineHeight = line_height;
outStr = word;
lineStr = word;
lineIndex++;
}
else
{
outStr += word;
}
wordBegin = i;
if (isImage) { //计算图片位置 图片索引累加
lineHeight = image_height>lineHeight?image_height:lineHeight;
m_Imgs[imgIndex].nWidth= width > m_width?imgWidth*0.5:width-imgWidth*0.5;
m_Imgs[imgIndex].nHeight = height - lineHeight*0.5;
imgIndex++;
}
isImage = false;
}
CCLabelTTF * l = CCLabelTTF::create(outStr.c_str(), m_fontName, m_fontSize);
l->setAnchorPoint(ccp(0,0.5));
if (colorType == CT_Black) {
l->setColor(CC_Black);
}
l->setPosition(ccp(0, height- lineHeight*0.5));
countHeight = (height-lineHeight)*-1; //算总高度
addChild(l);
AddImages();
tl->release();
}