本文整理汇总了C++中CSprite::updatePosition方法的典型用法代码示例。如果您正苦于以下问题:C++ CSprite::updatePosition方法的具体用法?C++ CSprite::updatePosition怎么用?C++ CSprite::updatePosition使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSprite
的用法示例。
在下文中一共展示了CSprite::updatePosition方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setX
void CPosition::setX(int _x) {
x = _x;
CSprite * sprite = (CSprite *) parent->getComponent("Sprite");
if ( sprite != NULL ) {
sprite->updatePosition();
}
}
示例2: setY
void CPosition::setY(int _y) {
y = _y;
CSprite * sprite = (CSprite *) parent->getComponent("Sprite");
if ( sprite != NULL ) {
sprite->updatePosition();
}
}
示例3: execute
void ARight::execute(const sf::Int64 elapsed) {
// TODO: Verif' they are existing components
// #1 get all components
sf::Int64 tempElapsedSum = getElapsedSum() + elapsed;
CAcceleration * acceleration;
acceleration = (CAcceleration *) parent->getComponent("Acceleration");
CSpeed * speed = (CSpeed *) parent->getComponent("Speed");
CPosition * position = (CPosition *) parent->getComponent("Position");
CSprite * sprite = (CSprite *) parent->getComponent("Sprite");
if (speed->getHSpeed() < -1.2) {
// #2a go back to 0
speed->setHSpeed((speed->getHSpeed())-((float)(speed->getHSpeed())/8.0));
position->setX((position->getX())+(speed->getHSpeed()));
sprite->updatePosition();
} else {
// #2b add values
speed->setHSpeed((speed->getHSpeed())+
((float)elapsed/acceleration->getHAcceleration()*
speed->getHSpeedMax()));
position->setX((position->getX())+ceil((speed->getHSpeed()))); // round sup
sprite->updatePosition();
}
// #3 change sprites
sf::Int64 temp = 0;
int k = 0; //index to read in tab
while (temp < tempElapsedSum) {
++k;
temp = temp + (getModuloTime()/getSubSprites().size());
}
if ((k-1)>=getSubSprites().size())
{k=getSubSprites().size();}
sprite->updateSubSprite(getSubSprites().at(k-1));
sprite->setDirection("right");
setElapsedSum(tempElapsedSum%getModuloTime());
}