void CommonButton::setFontName(const char * fontName) { CCLabelTTF * ttf = dynamic_cast<CCLabelTTF * >(m_label); CCLabelTTF * ttf1 = dynamic_cast<CCLabelTTF * >(m_label); if (ttf) { ttf->setFontName(fontName); } if (ttf1) { ttf1->setFontName(fontName); } }
TTFFontInit::TTFFontInit() { CCSize s = CCDirector::sharedDirector()->getWinSize(); CCLabelTTF* font = new CCLabelTTF(); font->init(); font->autorelease(); font->setFontName("Marker Felt"); font->setFontSize(48); font->setString("It is working!"); this->addChild(font); font->setPosition(ccp(s.width/2,s.height/4*2)); }
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; }