本文整理汇总了C++中Water::getPosition方法的典型用法代码示例。如果您正苦于以下问题:C++ Water::getPosition方法的具体用法?C++ Water::getPosition怎么用?C++ Water::getPosition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Water
的用法示例。
在下文中一共展示了Water::getPosition方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: 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);
}
}
}
}