所以,我试图在C ++中为一个使用spritesheets进行输入的动画精灵创建一个类,当试图移动精灵时,它只是反弹回来。它不会挽救这个位置。
我尝试使用.setPostion()
,但仍然会反弹到原来的位置。我没有其他方法来移动实现的精灵,也没有更新它或其他任何东西。成员函数运行中关注的部分是无效的:
//if statement
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right))
{
curranim[2] = Right;
playerSprite.setPosition(playerSprite.getPosition().x + walkingSpeed, 0);
}
window.draw(playerSprite);
//spritesheet.cpp ends here
现在这是我的主要功能:
int main()
{
sf::RenderWindow Window(sf::VideoMode(900, 600), "RPG");
animsprite sprite("dragon.png", 1, Window);
sprite.setWalkSpeed(10);
sf::Event Event;
while (Window.isOpen())
{
while (Window.pollEvent(Event))
{
switch (Event.type)
{
case sf::Event::Closed:
Window.close();
break;
}
}
Window.clear();
sprite.run(Window);
Window.display();
}
return 0;
}
我会不会永远重复我的代码还是有修复?