void CursorTextField::initCursorSprite(int nHeight) { int column = 4; int pixels[nHeight][column]; for (int i=0; i<nHeight; ++i) { for (int j=0; j<column; ++j) { pixels[i][j] = 0xffffffff; } } CCTexture2D *texture = new CCTexture2D(); texture->initWithData(pixels, kCCTexture2DPixelFormat_RGB888, 1, 1, CCSizeMake(column, nHeight)); m_pCursorSprite = CCSprite::createWithTexture(texture); CCSize winSize = getContentSize(); m_cursorPos = ccp(0, winSize.height / 2); m_pCursorSprite->setPosition(m_cursorPos); this->addChild(m_pCursorSprite); m_pCursorAction = CCRepeatForever::create((CCActionInterval *) CCSequence::create(CCFadeOut::create(0.25f), CCFadeIn::create(0.25f), NULL)); m_pCursorSprite->runAction(m_pCursorAction); m_pInputText = new std::string(); }
CCSprite* blankSpriteWithSize(const CCSize& size) { CCSprite *sprite = new CCSprite(); GLubyte *buffer = (GLubyte*)malloc(sizeof(GLubyte)*4); for (int i=0; i<4; i++) { buffer[i]=255; } CCTexture2D *tex = new CCTexture2D(); tex->initWithData(buffer, CCTexture2DPixelFormat::kCCTexture2DPixelFormat_RGB5A1, 1, 1, size); sprite->setTexture(tex); sprite->setTextureRect(CCRectMake(0, 0, size.width, size.height)); free(buffer); return sprite; }
void UITextInputField::CreateWhiteBack() { if(m_pWhiteBack != NULL) { m_pWhiteBack->removeFromParentAndCleanup(true); m_pWhiteBack = NULL; } if(m_pTextInputField == NULL) { return; } CCSize dimension = m_pTextInputField->getDimensions(); int dimensionWidth = dimension.width; int dimensionHeight = dimension.height; if(dimensionWidth != 0 && dimensionHeight != 0) { int *pixels = new int[(dimensionWidth + 8) * (dimensionHeight + 8)]; for (int i=0; i<dimensionWidth+8; ++i) { for (int j=0; j<dimensionHeight+8; ++j) { //pixels[i][j] = 0xffffffff; pixels[i*4+j] = 0xffffffff; } } CCTexture2D *texture = new CCTexture2D(); texture->initWithData(pixels, kCCTexture2DPixelFormat_RGB888, 1, 1, CCSizeMake(dimensionWidth + 8, dimensionHeight + 8) ); delete[] pixels; m_pWhiteBack = CCSprite::createWithTexture(texture); texture->release(); } }
bool CCTextInput::initWithLabel(const char* placeHolder, CCNode* label, CCSize designSize, int align, unsigned int limit) { m_uAlign = align; m_pColor = dynamic_cast<CCRGBAProtocol*>(label); m_pLabelNode = label; m_pLabel = dynamic_cast<CCLabelProtocol*>(label); if (placeHolder!=NULL) { m_pPlaceHolder = (placeHolder) ? new std::string(placeHolder) : new std::string; m_pLabel->setString(placeHolder); m_pColor->setColor(m_ColorSpaceHolder); } this->setLimitNum(limit); int cursorHeight = (int)(designSize.height * 0.9); int* pixels = new int[2*cursorHeight]; for (int i=0; i<cursorHeight; ++i) { for (int j=0; j<2; ++j) { pixels[i*2+j] = 0x00000000; } } CCTexture2D *texture = new CCTexture2D(); texture->initWithData(pixels, kCCTexture2DPixelFormat_RGB888, 1, 1, CCSizeMake(2, cursorHeight)); delete[] pixels; m_pCursorSprite = CCSprite::createWithTexture(texture); m_pCursorSprite->setAnchorPoint(CCPointMake(0, 0.5)); m_cursorPos = CCPointMake(0, designSize.height / 2); addChild(m_pCursorSprite, 1, 1); m_pCursorAction = CCRepeatForever::create((CCActionInterval *) CCSequence::create(CCFadeOut::create(0.25f), CCFadeIn::create(0.25f), NULL)); m_pCursorSprite->runAction(m_pCursorAction); m_pCursorSprite->setVisible(false); // add view addChild(m_pLabelNode, 0, 0); setString(m_pLabel->getString()); return true; }
bool CCGridBase::initWithSize(ccGridSize gridSize) { CCDirector *pDirector = CCDirector::sharedDirector(); CGSize s = pDirector->getWinSizeInPixels(); unsigned int POTWide = ccNextPOT((unsigned int)s.width); unsigned int POTHigh = ccNextPOT((unsigned int)s.height); // on mac, it use kCCTexture2DPixelFormat_RGBA8888 CCTexture2DPixelFormat format = kCCTexture2DPixelFormat_RGBA8888; void *data = calloc((int)(POTWide * POTHigh * 4), 1); if (! data) { CCLOG("cocos2d: CCGrid: not enough memory."); this->release(); return false; } CCTexture2D *pTexture = new CCTexture2D(); pTexture->initWithData(data, format, POTWide, POTHigh, s); free(data); if (! pTexture) { CCLOG("cocos2d: CCGrid: error creating texture"); delete this; return false; } initWithSize(gridSize, pTexture, false); pTexture->release(); return true; }
void CTextField::initCursorSprite(int nHeight) { using namespace cocos2d; int column = 4; // int pixels[nHeight][column]; int (*pixels)[4] = new int[nHeight][4]; for (int i = 0; i < nHeight; ++i) { for (int j = 0; j < column; ++j) { pixels[i][j] = 0xff696969; } } CCTexture2D * texture = new CCTexture2D(); texture->initWithData(pixels, kCCTexture2DPixelFormat_RGB888, 1, 1, CCSizeMake(column, nHeight)); m_pCursorSprite = CCSprite::createWithTexture(texture); CCSize parentSize = getContentSize(); m_pCursorSprite->setPosition(ccp(0, parentSize.height / 2)); addChild(m_pCursorSprite); /* CCFadeOut * fadeOut = CCFadeOut::create(0.25f); CCFadeIn * fadeIn = CCFadeIn::create(0.25f); CCSequence * seq = CCSequence::create(fadeOut, fadeIn, NULL); CCRepeatForever * forever = CCRepeatForever::create(seq); m_pCursorSprite->runAction(forever); */ m_pCursorSprite->setVisible(false); delete []pixels; pixels = NULL; }
bool CCGridBase::initWithSize(const CCSize& gridSize) { CCDirector *pDirector = CCDirector::sharedDirector(); CCSize s = pDirector->getWinSizeInPixels(); unsigned long POTWide = CCUtils::nextPOT((unsigned int)s.width); unsigned long POTHigh = CCUtils::nextPOT((unsigned int)s.height); // we only use rgba8888 CCTexture2DPixelFormat format = kCCTexture2DPixelFormat_RGBA8888; void *data = calloc((int)(POTWide * POTHigh * 4), 1); if (! data) { CCLOG("cocos2d: CCGrid: not enough memory."); CC_SAFE_RELEASE(this); return false; } CCTexture2D *pTexture = new CCTexture2D(); pTexture->initWithData(data, format, POTWide, POTHigh, s); free(data); if (! pTexture) { CCLOG("cocos2d: CCGrid: error creating texture"); return false; } initWithSize(gridSize, pTexture, false); CC_SAFE_RELEASE(pTexture); return true; }
void SGCGMovieLayer::constructView() { SGNotificationCenter::sharedNotificationCenter()->addObserver(MSG_CGBATTLE_START, this, callfuncO_selector(SGCGMovieLayer::cgBattleListener)); s = CCDirector::sharedDirector()->getWinSize(); ResourceManager::sharedInstance()->bindTexture("bg/cgBg.plist", RES_TYPE_LAYER_UI, sg_cgMovieLayer); CCSprite *cgBg = CCSprite::createWithSpriteFrameName("cgBg.png"); cgBg->setAnchorPoint(ccp(0.5, 1)); cgBg->ignoreAnchorPointForPosition(false); cgBg->cocos2d::CCNode::setScaleX(s.width/cgBg->getContentSize().width); cgBg->setPosition(ccp(s.width/2, s.height)); addChild(cgBg); // SGButton *skipBt = SGButton::createFromLocal("box_btnbg.png", "跳 过", this, menu_selector(SGCGMovieLayer::cgSkipToBattle), CCPointZero, FONT_PANGWA,ccWHITE,32,false,true); // skipBt->setPosition(ccp(s.width/2, skipBt->getContentSize().height*2)); // addBtn(skipBt); CCLayerColor * blackBg = CCLayerColor::create(ccc4(0, 0, 0, 255), s.width, s.height); blackBg->setTouchEnabled(false); blackBg->ignoreAnchorPointForPosition(false); blackBg->setAnchorPoint(ccp(0, 0)); blackBg->setPosition(ccp(0, 0)); this->addChild(blackBg, -100); scrollRect = CCRectMake(0, s.height*0.2, s.width, s.height/4); cgScrollView = SNSScrollView::create(scrollRect); cgScrollView->setFrame(scrollRect); cgScrollView->setPosition(scrollRect.origin); cgScrollView->setHorizontal(false); cgScrollView->setVertical(true); cgScrollView->setTouchEnabled(false); this->addChild(cgScrollView); // CCSprite *scrollBg = CCSprite::createWithSpriteFrameName("barrack_kuang.png"); // scrollBg->cocos2d::CCNode::setScale(s.width/scrollBg->getContentSize().width, s.height/4/scrollBg->getContentSize().height); // scrollBg->setPosition(ccpAdd(scrollRect.origin, ccp(s.width/2, s.height/8))); // addChild(scrollBg); char *spritData = new char[(int)s.width * (int)s.height *4]; memset(spritData,0,(int)s.width * (int)s.height *4); int spriteDataSize = (int)s.width * (int)s.height*4; for (int j=0; j<spriteDataSize; j+=4) { spritData[j] = 0; spritData[j+1] = 0; spritData[j+2] = 0; spritData[j+3] = 255; } CCTexture2D *pTexture = new CCTexture2D(); pTexture->initWithData(spritData, kCCTexture2DPixelFormat_Default, (int)s.width, (int)s.height, s); finaleSprite = CCSprite::createWithTexture(pTexture); finaleSprite->setPosition(CCPointZero); finaleSprite->setAnchorPoint(CCPointZero); this->addChild(finaleSprite,10,10); finaleSprite->setVisible(false); finaleSprite->setOpacity(0); delete [] spritData; pTexture->autorelease(); this->setTouchEnabled(true); const char *str[7] = { str_CGMovieLayer_str1, str_CGMovieLayer_str2, str_CGMovieLayer_str3, str_CGMovieLayer_str4, str_CGMovieLayer_str5, str_CGMovieLayer_str6, str_CGMovieLayer_str7}; SGCCLabelTTF *cgMsg = NULL; posY = -20; for (int i=0; i<7; i++) { cgMsg = SGCCLabelTTF::create(str[i], FONT_BOXINFO, 34); cgMsg->cocos2d::CCNode::setPosition(s.width/2, posY); cgScrollView->m_body->addChild(cgMsg); posY -= 50; } moveCgMsgDis = CGMSGMOVEDIS; unschedule(schedule_selector(SGCGMovieLayer::moveCgMsgUp)); if (SGPlayerInfo::sharePlayerInfo()->getCDKeyNeed()==1) { SGNotificationCenter::sharedNotificationCenter()->addObserver(MSG_CDK, this, callfuncO_selector(SGCGMovieLayer::cdkListener)); ResourceManager::sharedInstance()->bindTexture("sgloginingbox/sgloginingbox.plist", RES_TYPE_LAYER_UI, sg_cgMovieLayer); // ResourceManager::sharedInstance()->bindTexture("sgserverlistlayer/sgserverlistlayer.plist",RES_TYPE_LAYER_UI ,sg_registerLayer); box = CCSprite::createWithSpriteFrameName("register_diban.png"); box->setPosition(SGLayout::getPoint(kMiddleCenter)); this->addChild(box); m_cdk = CCEditBox::create(CCSizeMake(500, 60), CCScale9Sprite::createWithSpriteFrameName("public_kuang_input.png")); m_cdk->setPlaceHolder(str_CGMovieLayer_str8); m_cdk->setPlaceholderFontColor(ccc3(0x82,0x3e,0x02)); m_cdk->setMaxLength(10); m_cdk->setReturnType(kKeyboardReturnTypeDone); m_cdk->setInputMode(kEditBoxInputModeSingleLine); m_cdk->setPosition(ccp(box->getContentSize().width*.5,box->getContentSize().height*.48)); // m_cdk->setDelegate(this); box->addChild(m_cdk); title = CCSprite::createWithSpriteFrameName("gameactive.png"); title->setPosition(ccp(box->getContentSize().width*.5,box->getContentSize().height*.8)); box->addChild(title); //确定 btn = SGButton::create("box_btnbg.png", "public_font_queding.png", this, menu_selector(SGCGMovieLayer::btnclick),CCPointZero,false,true); this->addBtn(btn); btn->setPosition(ccpAdd(box->getPosition(),ccp(-140,-btn->getContentSize().height*2.5))); //取消 btn2 = SGButton::create("box_btnbg.png", "public_font_quxiao.png", this, menu_selector(SGCGMovieLayer::btnclickcancel),CCPointZero,false,true); this->addBtn(btn2); btn2->setPosition(ccpAdd(box->getPosition(),ccp(140,-btn->getContentSize().height*2.5))); } else { schedule(schedule_selector(SGCGMovieLayer::moveCgMsgUp), CGMSGMOVEGAP); } }