gpt4 book ai didi

objective-c - 如何创建像 iOS 游戏 'Contre Jour' 一样的土地(山丘)?

转载 作者:搜寻专家 更新时间:2023-10-30 20:21:46 25 4
gpt4 key购买 nike

如何像iOS游戏一样创建土地(山丘)Contre Jour ? (使用 Box2d 和 OpenGL)

我的想法:

物理 (Box2d)

  1. 我想我们有一组物体或夹具。

  2. 当我们触摸屏幕时,确定触摸位置。

  3. 如果触摸位置离陆地不远,我们开始扫描物体阵列,寻找坐标最接近触摸位置的物体。

  4. 当触摸 Move 时,将右 body 移动到新坐标 (body->SetTransform(...))。

您认为使用大量物体的效率如何?并通过坐标找到合适的 body ?

图形 (OpenGL)

有一个由绘制土地(山丘)创建的顶点和三角形数组?这是真的吗?

enter image description here

最佳答案

您可以使用函数 b2World::QueryAABB 获取给定区域中的固定装置列表,然后检查最佳选项。 Box2D testbed 这样做是为了找出用鼠标抓取哪个夹具,以便您可以检查该源代码。另请参阅:http://www.iforce2d.net/b2dtut/world-querying

要移动 body ,您确实可以使用 SetTransform,如果对象在移动过程中不需要与任何事物交互,这会很好。另一种选择可能是将 SetLinearVelocity 设置为一个速度,该速度将在一个时间步长内将主体移动到拖动到的点。如果您希望连续拖动对象能够在移动时撞到东西,这是一个更好的方法,因为它不会立即将 body 传送到手指位置。如果主体是弹体,那么它还可以防止用户拖动东西穿过其他物体,例如静态墙。记得在手指抬起时将速度设置为零:)

关于objective-c - 如何创建像 iOS 游戏 'Contre Jour' 一样的土地(山丘)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9063413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com