- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在按下空格键后发射射弹,但我实现它的方式似乎只在按下空格键时发射。我考虑过创建一个 for 循环或 while 循环,但根据我目前所学的知识,我也看不到它们是否有效。
下面的代码是我实现的:
if (state->IsKeyDown(Input::Keys::SPACE))
{
_projectile->_position->Y -= _projectile->_speed * elapsedTime;
}
实际上不确定这有什么问题只是它作用于按住空格键而不是仅仅按下空格键
最佳答案
一旦您抬起空格键,if
子句就不再执行,因此您需要在 条件之外更新射弹。但是,您也不能无条件地执行此操作,因为您不想在按下空格键之前更新射弹。
因此,这里的解决方案是使用一个 bool 状态变量来跟踪空格键是否已被按下(例如,调用此 projectile_launched
)。将其初始化为 false
,因为大概在游戏开始时没有射弹。
完成后,if
子句需要更改为:
if (state->IsKeyDown(Input::Keys::SPACE))
{
projectile_launched = true;
}
这将激活射弹。然后在您的渲染循环中添加一个额外的if
-clause projectile_launched
:
if (projectile_launched) {
_projectile->_position->Y -= _projectile->_speed * elapsedTime;
}
这将允许在游戏的每一帧更新射弹。请注意,您可能希望稍后在射弹到达环境边缘时停用 projectile_launched
。
此外,我在这里展示的内容仅适用于单个 射弹。您一次不能拥有多个。要支持多个弹射物,您需要一个弹射物列表(例如,使用std::vector
),而不是 bool 变量,您将持续跟踪该列表并在每一帧更新。
关于c++ - 简单的弹丸运动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27576916/
所以我使用 projectile 作为 emacs 的项目管理工具,我可以在我的 emacs 中执行 projectile-ag 来查找术语。 但是我想通过文件扩展名过滤我的搜索,例如有时我只想查看
简介 我正在使用 ARKit 在增强现实中设计一款 iPhone 游戏。我的游戏的一部分涉及用户滑动以将球扔向目标。我的目的是创建一个向量,其中包含目标的 y 值和 z 值,但包含用户滑动位置的 x
我是一名优秀的程序员,十分优秀!