没有物理引擎的碰撞角度
collision angle without physics engine
我正在尝试使气泡碰撞以在左右屏幕上反弹。我在Visual Studio 2012中使用cocos2dx 2.2.5,但我仍然是新手,所以我不使用任何物理引擎。球可以停在左右屏幕,但它们不会反弹,只是漂浮到屏幕顶部。
这是我的代码:
void level11::move(float delta)
{
if (getPosition().x > VisibleRect::right().x - radius())
{
setPosition( ccp( VisibleRect::right().x - radius(), getPosition().y) );
m_velocity.x *= -1;
}
else if (getPosition().x < VisibleRect::left().x + radius())
{
setPosition( ccp(VisibleRect::left().x + radius(), getPosition().y) );
m_velocity.x *= -1;
}
}
我的猜测是,您的重新定位没有按预期工作,并且速度在正值和负值之间不断交替。如果不看到更多代码,很难分辨。我会以这种方式实现这一点,以免受此类问题的影响:
if ((m_velocity.x > 0 && getPosition().x > VisibleRect::right().x - radius()) ||
(m_velocity.x < 0 && getPosition().x < VisibleRect::left().x + radius())) {
m_velocity.x *= -1;
}
相关文章:
- 当使用带有VS2019或VSCode的虚幻引擎4.24.2时,我如何修复这些错误的Intellisense错误
- Unity在虚幻引擎4中的"Vector3.Slerp"等效C++?
- 如何创建从Maya(或类似程序)到虚幻引擎的自定义数据导出插件
- 落砂模拟碰撞检测C++和SFML
- 在虚幻引擎中删除NXOpen对象时崩溃
- 引擎节点:未定义的符号:_ZTV6Config
- Agora.io 虚幻引擎插件构建错误
- SFML 碰撞永远不会在我的系统中注册
- <random>在实践中应该实际使用哪个随机数引擎? std::mt19937?
- 无法在 Arch Linux 中启动虚幻引擎 4
- 在虚幻引擎中触发C++ dll的事件
- 在 C/C++ 中加载 OpenSSL 自定义引擎
- 组件上的虚幻引擎可蓝图UFUNCTION会导致构建错误
- 在均匀网格中处理碰撞
- 使用Visual Studio在虚幻引擎中创建一个新的类c ++给了我太多的错误
- 提高基于组件的游戏引擎的效率
- 在C++中嵌入 Mozilla 的 JavaScript 引擎
- 如何在虚幻引擎4中将char*转换为TCHAR?
- 如何将外部代码包含在虚幻引擎4 C++项目中
- 没有物理引擎的碰撞角度