当前位置: 首页>>代码示例>>C++>>正文


C++ CSprite::updatePosition方法代码示例

本文整理汇总了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();
  }
}
开发者ID:Haathor,项目名称:Gravedigger,代码行数:7,代码来源:CPosition.cpp

示例2: setY

void CPosition::setY(int _y) {
  y = _y;
  CSprite * sprite = (CSprite *) parent->getComponent("Sprite");
  if ( sprite != NULL ) {
    sprite->updatePosition();
  }
}
开发者ID:Haathor,项目名称:Gravedigger,代码行数:7,代码来源:CPosition.cpp

示例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());
}
开发者ID:adrien-bougouin,项目名称:Gravedigger,代码行数:37,代码来源:ARight.cpp


注:本文中的CSprite::updatePosition方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。