问题标签 [box2d-iphone]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
883 浏览

objective-c - GetBodyCount() 在 Box2d 中总是返回 0?

我正在使用 cocos2d-iphone + Box2d 引擎,我在 Box2d 中有一个简单的调用来创建一个主体:

然后我通过以下方式打印新增加的身体计数变量:

但是,GetBodyCount()总是返回0?我知道 body count 变量正在递增,因为当我调试并进入时CreateBody(..) m_BodyCount正在递增,并且我的检查员1恭敬地返回。我不明白如何world->GetBodyCount()简单地运行 areturn m_BodyCount会失败并返回 0?

希望有人能帮忙!干杯。

我正在使用 SVN 版本。r31

格雷厄姆

0 投票
1 回答
1307 浏览

objective-c - 如何消除box2d中碰撞物体的反弹?

我试图在box2d两个对象碰撞时删除一个对象。

当我的两个物体发生碰撞时,其中一个物体会从另一个物体上反弹。它确实删除了另一个对象,但我希望它让它看起来像是经过而不是反弹。

我将身体 Def 类型设置为b2_staticBody.

0 投票
2 回答
3112 浏览

iphone - 如何在 box2d 体内设置精灵的位置?

基本上我的身体有 2 个多边形。当我为 userData 添加精灵时,纹理的位置不是我想要的位置。我想要做的是调整纹理在体内的位置。这是我设置它的代码示例:

0 投票
2 回答
1558 浏览

objective-c - 无法在参数传递中将“b2PolygonShape”转换为“objc_object*”

我不确定你们中的许多人是否熟悉 box2d 物理引擎,但我在 cocos2d 和 Objective c 中使用它。

不过,这或多或少可能是一个一般的objective-c问题,我正在执行此操作:

并在构建时在 addObject 定义中收到此错误:

所以或多或少我想我想知道如何将 b2PolygonShape 添加到可变数组中。b2PolygonShape 似乎只是一个类,而不是结构或类似的东西。我在谷歌上能找到的最接近的东西我认为可以做到这一点被描述为“将 b2PolygonShape 封装为 NSObject,然后将其添加到数组中”,但不确定最好的方法,但我会想到这个对象应该添加 using addObject,因为我的其他一些实例化的类对象可以很好地添加到数组中。

这完全是因为 b2PolygonShape 没有NSObject从根继承吗?

谢谢

0 投票
2 回答
1613 浏览

c++ - 仅在我的 2d 引擎中集成 Box2D 碰撞检测?

我已经在我的引擎中集成了 box2d(Debug Draw 等),并且我可以在一个世界中加入一些 2d 正方形/矩形等。

我看到这篇文章,用户基本上没有使用世界进行碰撞检测,但是用户没有解释他如何使用歧管(b2Manifold)等。

另一个帖子,在cocos2d论坛,(在第三个回复中向下滚动到用户Lam)

任何人都可以帮我解决这个问题吗?基本上是想在不需要使用 b2World 等的情况下添加碰撞检测。

非常感谢!

0 投票
3 回答
541 浏览

c++ - 转换为 C++ 中的派生类型问题

我对 C++ 很陌生,但已经使用 C# 多年,但它在这里对我没有帮助!:)

我的问题:我有一个Actor类,Ball它们Peg都来自我正在开发的objective-c iphone游戏。当我测试碰撞时,我希望根据or的实际运行时类型适当地设置Ball和的实例。我的测试代码如下:PegactorAactorB

一旦ballpeg被设置,然后我继续运行该hitByBall方法(目标 c)。

我的问题真正出在铸造过程中,BallactorA; 第一if (static_cast<>)条语句介入并ball适当地设置指针。

第二步是将适当的类型分配给peg. 我知道peg应该是一个Peg类型,我以前知道它会是actorB,但是在运行时,检测类型,我惊讶地发现实际上第三个if (static_cast<>)语句介入并设置了这个,这个 if 语句是为了检查是否actorA是一个Peg,我们已经知道actorA是一个Ball!为什么它会走到这里而不是在第四个if声明中?

我唯一可以假设的是强制转换与 c# 的工作方式有何不同,那就是它发现actorA实际上是类型Ball派生的Actor,然后它在 static_cast<Peg*> (actorA)执行时发现它也发现Peg派生自Actor,所以这是一个有效的测试?这一切都可能归结为我如何误解了static_cast. 我怎样才能达到我所需要的?:)

if我真的很不安,这让我感觉像是在这里用大量荒谬的陈述进行冗长的粗暴尝试。我确信有一种更优雅的方法可以实现简单的强制转换Peg和强制转换,Ball具体取决于保存在actorAand中的实际类型actorB

希望有人可以提供帮助!:) 非常感谢。

0 投票
1 回答
1148 浏览

cocos2d-iphone - 将我的身体移动到一个点

我正在使用框 2d。我只是想把我的身体移到重点。做这个的最好方式是什么?

0 投票
1 回答
600 浏览

cocos2d-iphone - Box2d:GetLinearVelocity() 的负值返回;

当我使用以下内容时,有时我会在 mmVelik.x 和 mVelik.y 中得到一个负值。谁能解释一下为什么??

0 投票
2 回答
423 浏览

iphone - 在不使用游戏引擎的情况下开发简单的游戏?

我正在尝试开发一个简单的足球游戏,包括点球,在其中我必须为从球员到球门柱的设置动画......之前我一直在使用简单的动画,使用计时器添加到球图像的轴上,以便它从一个点移动到另一个点..但我没有想要的结果,因为动画不是那么流畅......所以我正在考虑使用游戏引擎......因为我是一个新程序员,我对游戏引擎一无所知我也找不到任何关于box2d或花栗鼠或麻雀等引擎的适当文档..我也在考虑使用UIView 动画而不是早期的动画,因为我认为这可以实现更好的动画,而无需挠头尝试在游戏引擎上工作....我不会去任何地方,所以如果有人能对此有所了解,那就太好了我的问题???

0 投票
1 回答
1024 浏览

iphone - 在 Box2D 中对抗重力但与其他物体发生碰撞的物体。如何?

iPhone 游戏开发和 Box2D 的新手。

我正在开发一个游戏,我可以在其中移动(拖动)可能与其他物体碰撞的静止物体。

如何使这些物体在具有重力的 Box2D 世界中静止,同时保持它们与动态物体碰撞的能力?

一个随机的想法是一直对这些物体施加与重力相等的力。有更好或更简单的方法吗?静态物体会有帮助吗?