ios - swift + Box2D : How to integrate Box2D into a blank Swift SpriteKit project?

标签 ios swift sprite-kit box2d

尝试了很长时间后,我无法集成 c++ 版本或我在 github 上找到的 box2d 的一些 swift 端口。

我尝试添加一个 objective-c 文件,然后自动生成一个桥头文件,但不知道如何以及在何处添加 Box2D/Box2D.h 文件。

只需将整个 Box2D 文件夹添加到我的项目中并尝试

let world = b2World(...)

不起作用,但为什么找不到 Box2D 文件?

我如何在 XCode 中将 Box2D 集成到一个新的空白 Swift SpriteKit 项目中?

最佳答案

正如 @KinghtOfDragon 在评论中所说,Box2d 已经集成到 SpriteKit 中。而且您不需要使用 C++,一切都可用于 Swift(或 Objective-C)。

主题被描述为SpriteKit Programming Guide .您还可以在 StackOverflow 上找到大量 Q/A,搜索这些标签

几个例子

为 Sprite 创建物理形体

这个片段创建了一个与 Sprite 纹理相匹配的物理体

let sprite = SKSpriteNode(imageNamed: "enemy")
sprite.physicsBody = SKPhysicsBody(texture: sprite.texture!, size: sprite.texture!.size())

物理世界

在您的 GameScene 类中,您会找到 physicsWorld 属性。它允许您更改游戏物理世界的参数。例如。你可以通过简单的写作来消除重力

physicsWorld.gravity = CGVector(dx: 0.0, dy: 0.0)

关于ios - swift + Box2D : How to integrate Box2D into a blank Swift SpriteKit project?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38838911/

相关文章:

ios - NSIndexPath:indexPathForRow:inSection 未能正确初始化

ios - 如何从@objc 函数在 UIViewController 之间传递数据数组

string - 遍历字符串字符以删除 block 引号

swift3 - 对 SKLabelNode 中的单个字符进行动画处理

objective-c - 如何使用回调函数访问 runAction 的目标?

javascript - IOS 中 chrome 上的智能横幅

iphone - 如何将UINavigationBar子类化以与Three20/iOS5一起使用?

swift - CornerRadius 恰好是 UIView

swift - Spritekit/Swift 暂停和重置游戏之间的区别?

swift - 在 Swift 中终止应用程序时调用函数