本文整理汇总了C++中Water::update方法的典型用法代码示例。如果您正苦于以下问题:C++ Water::update方法的具体用法?C++ Water::update怎么用?C++ Water::update使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Water
的用法示例。
在下文中一共展示了Water::update方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateScene
void PropsDemo::updateScene(float dt)
{
mTime += dt;
mGfxStats->update(dt);
gDInput->poll();
// Fix camera to ground or free flying camera?
if( gDInput->keyDown(DIK_N) )
mFreeCamera = false;
if( gDInput->keyDown(DIK_M) )
mFreeCamera = true;
if( mFreeCamera )
{
gCamera->update(dt, 0, 0);
}
else
{
gCamera->update(dt, mTerrain, 2.5f);
}
mWater->update(dt);
}
示例2: updateScene
void WaterDemo::updateScene(float dt)
{
mGfxStats->update(dt);
gDInput->poll();
gCamera->update(dt, 0, 0);
mWater->update(dt);
}
示例3:
static void idle (void)
{
static float cTime = 0.0;
camera.update(mouseX, mouseY);
water.update(cTime);
glutPostRedisplay();
cTime += 0.02f;
}
示例4: update
void Level::update(float dt) {
float Spread = 0.1;
for(unsigned int i = 0; i < waterBlock->count(); i++) {
Water *w = (Water *)waterBlock->objectAtIndex(i);
w->update(dt);
}
//iteration speed and position
for(int j = 0; j < 3; j++) {
//adjust velocity
for(unsigned int i = 0; i < waterBlock->count(); i++) {
Water *w = (Water*)waterBlock->objectAtIndex(i);
if(i > 0) {
Water *lw = (Water *)waterBlock->objectAtIndex(i-1);
leftDelta[i] = Spread*dt*(w->getPosition().y-lw->getPosition().y);
lw->velocity.y += leftDelta[i];
}
if(i < waterBlock->count()-1) {
Water *rw = (Water*)waterBlock->objectAtIndex(i+1);
rightDelta[i] = Spread*dt*(w->getPosition().y-rw->getPosition().y);
rw->velocity.y += rightDelta[i];
}
}
//adjust Height
for(unsigned int i = 0; i < waterBlock->count(); i++) {
if(i > 0) {
Water *lw = (Water*)waterBlock->objectAtIndex(i-1);
CCPoint old = lw->getPosition();
old.y += leftDelta[i];
lw->setPosition(old);
}
if(i < waterBlock->count()-1) {
Water *rw = (Water*)waterBlock->objectAtIndex(i+1);
CCPoint old = rw->getPosition();
old.y += rightDelta[i];
rw->setPosition(old);
}
}
}
}