本文整理汇总了C++中Water::initWithFile方法的典型用法代码示例。如果您正苦于以下问题:C++ Water::initWithFile方法的具体用法?C++ Water::initWithFile怎么用?C++ Water::initWithFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Water
的用法示例。
在下文中一共展示了Water::initWithFile方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: new
Water *Water::create(const std::string& fileName, const std::string& waveFileOne, const std::string& waveFileTwo, const cocos2d::Size& size, float hSpeed, float vSpeed, float saturation)
{
Water *water = new (std::nothrow) Water();
if (water && water->initWithFile(fileName, cocos2d::Rect(0, 0, size.width, size.height)))
{
water->autorelease();
auto TexCache = cocos2d::Director::getInstance()->getTextureCache();
auto wave2 = TexCache->addImage(waveFileOne);
auto wave1 = TexCache->addImage(waveFileTwo);
cocos2d::Texture2D::TexParams wave1TexParams = { GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT };
cocos2d::Texture2D::TexParams wave2TexParams = { GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT };
wave1->setTexParameters(wave1TexParams);
wave2->setTexParameters(wave2TexParams);
auto glprogram = cocos2d::GLProgram::createWithFilenames("shader3D/water.vsh", "shader3D/water.fsh");
auto glprogramstate = cocos2d::GLProgramState::getOrCreateWithGLProgram(glprogram);
water->setGLProgramState(glprogramstate);
glprogramstate->setUniformTexture("u_wave1", wave1);
glprogramstate->setUniformTexture("u_wave2", wave2);
glprogramstate->setUniformFloat("saturateValue", saturation);
glprogramstate->setUniformFloat("verticalSpeed", vSpeed);
glprogramstate->setUniformFloat("horizontalSpeed", hSpeed);
return water;
}
CC_SAFE_DELETE(water);
return nullptr;
}
示例2: create
Water* Water::create()
{
//Create is virtual function from CCSprite
Water *pSprite = new Water();
if (pSprite && pSprite->initWithFile("water_tile.png"))
{
// Set to autorelease
pSprite->autorelease();
//assign your attributes here!!
return pSprite;
}
CC_SAFE_DELETE(pSprite);
return NULL;
}