【发布时间】:2019-03-01 00:40:47
【问题描述】:
我是 C++ 编程的初学者
当我按下按钮时,我尝试为我的角色设置动画。
所以我写了这个:
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Up||Down||Left||Right)
{...
我找到了一个解决方案,但它很复杂
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Up)||sf::Keyboard::isKeyPressed(sf::Keyboard::Down)||sf::Keyboard::isKeyPressed(sf::Keyboard::Right)||sf::Keyboard::isKeyPressed(sf::Keyboard::Left))
我想知道为什么我的第一次尝试不起作用?以及我怎样才能做到尽可能简单?
【问题讨论】:
-
您为什么认为第一个解决方案会起作用?看来您应该从a good C++ book 开始。您可以添加
using namespace sf::Keyboard;以避免每次都重复此部分,但除此之外它尽可能简单(并且您的API 允许)。你也可以把它提取到一个函数中(即isArrowKeyPressed()),然后你只需要调用这个函数。 -
也可以使用
std::any_of。