bool TextFieldTTF::initWithPlaceHolder(const std::string& placeholder, const std::string& fontName, float fontSize) { _placeHolder = placeholder; do { // If fontName is ttf file and it corrected, use TTFConfig if (FileUtils::getInstance()->isFileExist(fontName)) { TTFConfig ttfConfig(fontName, fontSize, GlyphCollection::DYNAMIC); if (setTTFConfig(ttfConfig)) { break; } } setSystemFontName(fontName); setSystemFontSize(fontSize); } while (false); Label::setTextColor(_colorSpaceHolder); Label::setString(_placeHolder); #if (CC_TARGET_PLATFORM == CC_PLATFORM_MAC || CC_TARGET_PLATFORM == CC_PLATFORM_WIN32 || CC_TARGET_PLATFORM == CC_PLATFORM_LINUX) // On desktop default enable cursor if (_currentLabelType == LabelType::TTF) { setCursorEnabled(true); } #endif return true; }
bool TextFieldTTF::initWithPlaceHolder(const std::string& placeholder, const std::string& fontName, float fontSize) { _placeHolder = std::string(placeholder); setSystemFontName(fontName); setSystemFontSize(fontSize); Label::setTextColor(_colorSpaceHolder); Label::setString(_placeHolder); return true; }
bool TextFieldTTF::initWithPlaceHolder(const std::string& placeholder, const Size& dimensions, TextHAlignment alignment, const std::string& fontName, float fontSize) { _placeHolder = placeholder; setDimensions(dimensions.width,dimensions.height); setSystemFontName(fontName); setSystemFontSize(fontSize); setAlignment(alignment,TextVAlignment::CENTER); Label::setTextColor(_colorSpaceHolder); Label::setString(_placeHolder); return true; }
Label* Label::createWithSystemFont(const std::string& text, const std::string& font, float fontSize, const Size& dimensions /* = Size::ZERO */, TextHAlignment hAlignment /* = TextHAlignment::LEFT */, TextVAlignment vAlignment /* = TextVAlignment::TOP */) { auto ret = new (std::nothrow) Label(nullptr,hAlignment,vAlignment); if (ret) { ret->setSystemFontName(font); ret->setSystemFontSize(fontSize); ret->setDimensions(dimensions.width, dimensions.height); ret->setString(text); ret->autorelease(); return ret; } delete ret; return nullptr; }
// on "init" you need to initialize your instance bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); ///////////////////////////// // 2. add a menu item with "X" image, which is clicked to quit the program // you may modify it. // add a "close" icon to exit the progress. it's an autorelease object auto closeItem = MenuItemImage::create( "CloseNormal.png", "CloseSelected.png", CC_CALLBACK_1(HelloWorld::menuCloseCallback, this)); closeItem->setPosition(Vec2(origin.x + visibleSize.width - closeItem->getContentSize().width/2 , origin.y + closeItem->getContentSize().height/2)); // create menu, it's an autorelease object auto menu = Menu::create(closeItem, NULL); menu->setPosition(Vec2::ZERO); this->addChild(menu, 1); ///////////////////////////// // 3. add your codes below... // add a label shows "Hello World" // create and initialize a label auto label = Label::create(); label->setDimensions(400, 100); label->setLineBreakWithoutSpace(true); //label->setString("123456789012345678901234567890 123456789012345678901234567890 12345678901234567890"); label->setSystemFontName("Arial"); label->setSystemFontSize(24); // position the label on the center of the screen //label->setPosition(Vec2(origin.x + visibleSize.width/2,origin.y + visibleSize.height - label->getContentSize().height)); label->setAnchorPoint(Vec2(0, 1)); label->setPosition(Vec2(100,100)); // add the label as a child to this layer this->addChild(label, 1); /*TintTest*/ /* // add "HelloWorld" splash screen" auto sprite = Sprite::create("images/380.png"); // position the sprite on the center of the screen sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y)); sprite->setColor(Color3B(0, 255, 0)); // add the sprite as a child to this layer this->addChild(sprite, 1); sprite->runAction(Sequence::createWithTwoActions(TintTo::create(3, 255, 255, 0), TintTo::create(3, 255, 0, 0)));*/ /* MonsterHeadSprite *monster = MonsterHeadSprite::create("и╜ажа╜йС"); monster->setPosition(Vec2(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y)); this->addChild(monster, 0); DigitSprite* digit = DigitSprite::create(); digit->setPosition(Vec2(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y)); this->addChild(digit, 0); digit->showDigit(21);*/ /* //dialogue layer test Node* stencil = Node::create(); auto clip1 = LayerColor::create(Color4B::BLACK, 24, 24); clip1->setPosition(Vec2(100,76)); stencil->addChild(clip1); ClippingNode* clippingNode = ClippingNode::create(stencil); clippingNode->addChild(sprite); addChild(clippingNode, 2);*/ /* //CharacterLayer test CharacterLayer *clayer = CharacterLayer::create(); addChild(clayer, 1, 1);*/ /*choice menu layer auto layer = ChoiceLayer::create(); layer->setAnchorPoint(Vec2(0.5, 0.5)); layer->setPosition(Vec2(400, 300)); addChild(layer, 2, 2);*/ /*Read script file FileUtils::getInstance()->addSearchPath("scripts"); if (!FileUtils::getInstance()->isFileExist("script.rpy")) { CCLOG("cannot find file: script.rpy."); } string s = FileUtils::getInstance()->getStringFromFile("script.rpy"); size_t pos = s.find_first_of("\r\n"); list<string> stmts = CommonUtils::splitString(s, "\r\n"); label->setString(stmts.front()); */ return true; }