C++/SFML定位精灵问题
C++/SFML Positioning Sprite Issue
我有一个名为"Player"的类,在我试图创建的游戏中,我可以处理移动、升级等。在主源文件的主循环中,我有键盘事件(左/右)。我希望动作能够知道你的角色何时冒险经过允许的地方。为了回答这个问题,我放置了两个if语句。
我只对此有问题,如果声明:
else if (sf::Keyboard::IsKeyPressed(sf::Keyboard::Right)) {
if (Player.getX() > 1279) {
Player.move(640,0);
}
Player.move(0.1,0);
}
没有编译问题。唯一的问题是,与另一个if语句不同,这个语句不会将精灵返回到所需的位置。如果我把If语句降低到1000左右,精灵就会从屏幕上消失。
感谢您的帮助。
Player.move(640,0);
您在X轴上移动播放器640像素。这意味着,当玩家到达x > 1279
时,即在你世界的右端,你会将玩家进一步向右移动。所以它消失了。
你可能想在这里使用setPosition
而不是move
,或者简单地不移动播放器,等等…
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 在Ubuntu 16.04上安装Cilk时出现问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 编译包含字符串的代码时遇到问题
- Project Euler问题4的错误解决方案
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 一个关于在C++中重载布尔运算符的问题
- 首要问题的答案让值班员搞错了
- setlocale的C++土耳其字符串问题
- C++ 直接X精灵类,矢量问题
- C++/SFML定位精灵问题
- 在工作精灵系统中添加实例的问题
- Direct3d绘制2d精灵.扩展问题