【发布时间】:2014-03-13 13:37:44
【问题描述】:
由于我是一般编码的新手,但我确信我的想法只是朝着错误的方向前进...... 我正在尝试让精灵在左键单击时追逐鼠标。我曾尝试使用 else if 语句,但即使多次单击也只有前 2 个语句会运行。 我想能够说如果 mouseposition.x > playerposition.x 然后将 playerimage 向右移动,那么一个用于其他方向。 因为我使用的是 sfml,所以我使用下面的方法来获取两者的位置。
sf::Vector2i mousePosition = sf::Mouse::getPosition(window);
sf::Vector2f playerPosition = playerImage.getPosition();
我希望使用下面的 switch 语句,但我不知道如何创建参数并将案例与该参数进行比较。
if(sf::Mouse::isButtonPressed(sf::Mouse::Left))
switch()
{
case 1:
playerImage.move(0.02, 0);
case 2:
playerImage.move(-0.02, 0);
case 3:
playerImage.move(0, -0.02);
case 4:
playerImage.move(0, 0.02);
}
【问题讨论】:
-
我不明白..你在找寻路吗?
-
这是在碰撞之前我只希望图像在单击左键时转到鼠标位置。只画了一个窗口和一个播放器图标
-
然后我会去 if (mousePosition.x
-
得到它thanx Raakz,我之前犯了使用else语句的错误,而不是我使用if语句列表现在只要左键单击,即使在四处移动时,图标也会追逐鼠标。感谢您走上正确的思路。我会粘贴代码,但我不允许使用应答按钮
标签: c++ switch-statement sfml