本文整理汇总了C++中CCTexture2D::setAntiAliasTexParameters方法的典型用法代码示例。如果您正苦于以下问题:C++ CCTexture2D::setAntiAliasTexParameters方法的具体用法?C++ CCTexture2D::setAntiAliasTexParameters怎么用?C++ CCTexture2D::setAntiAliasTexParameters使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCTexture2D
的用法示例。
在下文中一共展示了CCTexture2D::setAntiAliasTexParameters方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: loadedTexture
void UnloadableSpriteNode::loadedTexture(CCObject* obj)
{
CCTexture2D* aTex = (CCTexture2D*)obj;
if (aTex==NULL || aTex->retainCount()<=0) {
loading = false;
return;
}
aTex->setAntiAliasTexParameters();
//create sprite, position it and at to self
drawing = true;
this->_sprite = new CCSprite;
this->_sprite->initWithTexture(aTex);
this->_sprite->setAnchorPoint(ccp(0,0));
this->_sprite->setPosition(ccp(0,0));
// fill our activeRect fully with sprite (stretch if needed)
this->_sprite->setScaleX(this->_activeRect.size.width / this->_sprite->getContentSize().width);
this->_sprite->setScaleY(this->_activeRect.size.height / this->_sprite->getContentSize().height);
loading = false;
drawing = false;
}
示例2: setAntiAliasTexParameters
void XSpriteBatchNode::setAntiAliasTexParameters()
{
XFUNC_START();
if (m_pobTextureAtlas)
{
CCTexture2D* tex = m_pobTextureAtlas->getTexture();
if (tex)
{
tex->setAntiAliasTexParameters();
}
}
XFUNC_END();
}
示例3: ResHandle
void XSpriteBatchNode::ResHandle( long lParam )
{
XFUNC_START();
do
{
const char* szPath = NULL;
XResType* pResType = XResLoader::Instance().GetResByID(lParam);
if (!pResType)
{
break;
}
CCTexture2D* pTex;
if (XResType::ePng == pResType->GetType())
{
XResPNG* pRes = dynamic_cast<XResPNG*>(pResType);
if (!pRes)
{
break;
}
XTexture2D* &pCTex = pRes->m_pTexture;
if (!pCTex)
{
break;
}
if (pRes->m_pImage)
{
bool bRes = XTextureCache::Instance().InitTexture(pRes->m_szPath, pRes->m_pImage, pCTex);
if (!bRes)
{
break;
}
// Òѽ«Í¼Æ¬×ª»¯ÎªÌùͼ£¬É¾³ýͼƬ£¬ÊÍ·ÅÄÚ´æ¡£
delete pRes->m_pImage;
pRes->m_pImage = NULL;
}
pTex = pCTex;
szPath = pRes->m_szPath;
}
else
{
break;
//// ѹËõÎÆÀí
//XResCompressed* pRes = dynamic_cast<XResCompressed*>(pResType);
//if (!pRes)
//{
// break;
//}
//XTexture2D* &pXTex = pRes->m_pTexture;
//if (!pXTex)
//{
// break;
//}
//if (!pRes->m_byTexInited)
//{
// bool bRes = XTextureCache::Instance().InitTexture(pRes->m_szPath, pXTex, pRes->m_pTexAlpha);
// if (!bRes)
// {
// break;
// }
// pRes->m_byTexInited = 0xFF;
//}
//if (pRes->m_pTexAlpha)
//{
// m_pTexKtxAlpha = pRes->m_pTexAlpha;
// m_pTexKtxAlpha->retain();
// m_pShaderKTX = XShader::GetShader(this, XShader::eETC);
//}
//pTex = pXTex;
//szPath = pRes->m_szPath;
}
if(_byAntiAlias)
pTex->setAntiAliasTexParameters();
else
pTex->setAliasTexParameters();
// ´´½¨¾«Áé
XSBNChildInfo* pHead = _stChildren._pHead;
XSBNChildInfo* pUsed;
int nPos = 0;
while(pHead)
{
pUsed = pHead;
pHead = pHead->_pNext;
XSprite* pSprite = XSprite::createWithTexture(pTex, pUsed->stRect, _byAntiAlias);
if (!pSprite)
{
CCLOG("XSprite::createWithTexture failed!");
continue;
}
if (pUsed->byFlipX)
{
pSprite->setFlipX(true);
}
pSprite->setAnchorPoint(ccp(0.f, 0.f));
pSprite->setPosition(ccp(pUsed->fPosX, pUsed->fPosY));
pSprite->setScaleY(_fChildrenScaleY);
CCSpriteBatchNode::addChild(pSprite, pSprite->getZOrder(), nPos++);
XMP_RELEASE(XSBNChildInfo, pUsed);
}
_stChildren.Clear();
_bResLoaded = true;
//.........这里部分代码省略.........
示例4: updateTexture
// Helper
bool CCLabelTTF::updateTexture()
{
//if(this->isFlipY())
// this->setFlipY(false);
CCTexture2D *tex;
tex = new CCTexture2D();
if (!tex)
return false;
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) || (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
ccFontDefinition texDef = _prepareTextDefinition(true);
tex->initWithString( m_string.c_str(), &texDef );
#else
tex->initWithString( m_string.c_str(),
m_pFontName->c_str(),
m_fFontSize * CC_CONTENT_SCALE_FACTOR(),
CC_SIZE_POINTS_TO_PIXELS(m_tDimensions),
m_hAlignment,
m_vAlignment);
#endif
// set the texture
this->setTexture(tex);
// release it
tex->release();
// set the size in the sprite
CCRect rect =CCRectZero;
rect.size = m_pobTexture->getContentSize();
this->setTextureRect(rect);
/***************************给文字描黑边begin*********************************/
CCPoint prePos = this->getPosition();
ccColor3B color1 = this->getColor();
float strokeValue = 2;
CCSize textureSize = this->getContentSize();
textureSize.width += 2 * strokeValue;
textureSize.height += 2 * strokeValue;
/* 监测OpenGl的错误状态 */
glGetError();
/* 创建一张纹理画布 */
CCRenderTexture *rt = CCRenderTexture::create(textureSize.width, textureSize.height);
if(!rt)
{
CCLog("create render texture failed !!!!");
//addChild(label);
return 0;
}
/* 设置描边的颜色 */
this->setColor(ccBLACK);
/*
*拿到源文字的混色机制,存储以备恢复,并设置新的目标混色机制
*混色机制设为:源颜色透明度(影响亮度)和目标颜色(影响颜色)
*/
ccBlendFunc originalBlend = this->getBlendFunc();
ccBlendFunc func = { GL_SRC_ALPHA, GL_ONE};
this->setBlendFunc(func);
CCPoint anchPoint = this->getAnchorPoint();
/* 这是自定义的一些调整,倾斜了一点 */
this->setAnchorPoint(CCPoint(0.5, 0.5));
//label->setRotationX(15);
/* 张开画布,开始绘画 */
rt->begin();
this->setFlipY(true);
for(int i = 0; i < 360; i += 5)//每变化5度绘制一张
{
float r = CC_DEGREES_TO_RADIANS(i); //度数格式的转换
this->setPosition(CCPoint(textureSize.width * 0.5f + sin(r) * strokeValue,textureSize.height * 0.5f + cos(r) * strokeValue));
/* CCRenderTexture的用法,在begin和end之间visit的纹理,都会画在CCRenderTexture里面 */
this->visit();//画了一次该label
}
/* 恢复原始的label并绘制在最上层 */
this->setColor(color1);
this->setBlendFunc(originalBlend);
this->setPosition(CCPoint(textureSize.width * 0.5f, textureSize.height * 0.5f));
this->visit();
this->setFlipY(false);
/* 在画布上绘制结束,此时会生成一张纹理 */
rt->end();
/* 取出生成的纹理,添加抗锯齿打磨,并返回 */
CCTexture2D *texture = rt->getSprite()->getTexture();
texture->setAntiAliasTexParameters();// setAliasTexParameters();
this->setTexture(texture);
// release it
//.........这里部分代码省略.........