【发布时间】:2014-01-18 23:30:21
【问题描述】:
我正在尝试制作游戏,但被重力困住了.....在以下代码中,一个矩形代表玩家,当我按下向上键时,它会沿 y 轴移动,但是当我在其上激活重力时(即重置其先前的位置)它不动画(即它不跳跃)而是它只是停留在它的位置。我正在使用 C++ 的 SFML 库,这是一个游戏开发工具。请帮忙!
#include <SFML/Graphics.hpp>
int main(){
sf::RenderWindow window(sf::VideoMode(800, 600, 32), "Gravity");
sf::RectangleShape rectangle;
rectangle.setSize(sf::Vector2f(100, 100));
rectangle.setFillColor(sf::Color::Black);
rectangle.setPosition(sf::Vector2f(10, 350));
while(window.isOpen())
{
sf::Event Event;
while(window.pollEvent(Event))
{
if(Event.type == sf::Event::Closed)
{
window.close();
}
}
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
{
rectangle.move(0, -1);
}
if(rectangle.getPosition().y >= 350-1)
{
rectangle.setPosition(0, 350);
}
window.display();
window.clear(sf::Color::Cyan);
window.draw(rectangle);
}
}
【问题讨论】: