SKImport 1.0.0

SKImport 1.0.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布上次发布2014年12月

Adrian Cooney维护。



SKImport 1.0.0

设计和导入复杂、定制的SKPhysicsBodys以用于SpriteKit。SKImport附带一个出色的编辑器和用于在您的应用程序中使用的加载类。[SKPhysicsBody bodyWithPolygonFromPath]和[SKPhysicsBody bodyWithBodies]创建复杂的、多个子体物理体。

Example

创建复杂的物理体

1. 设计您的身体

打开编辑器并导入您的精灵图像。设计您精灵的身体并导出它。

2. 添加已导出的精灵

使用“文件 > 将文件添加到“项目名称””或在项目导航器底部的加号符号将导出的精灵JSON文件添加到Xcode。

Xcode add

3. 安装SKImport

导航到您的项目目录并使用Cocoapods安装SKImport。

$ cd /to/your/project
$ touch Podfile
$ open -e Podfile

在Podfile中添加SKImport作为依赖项

platform :ios, '7.0'
pod 'SKImport'

并安装

$ pod install
4. 导入您的精灵

在您的类头文件(.h)中导入SKImport

    #import <SKPhysicsBody+SKPhysicsBodyImport.h>

加载您的精灵并将其设置为精灵的physicsBody

    SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithImageNamed:@"Sprite.png"];

    // Find your body file
    NSString *bodyFile = [[NSBundle mainBundle] pathForResource: @"sprite" ofType: @"json"];

    // Add your physics body
    sprite.physicsBody = [SKPhysicsBody bodyWithFile: bodyFile];

完了!恭喜。您现在正在使用SpriteKit的复杂物理体。一定要查看下面的SpriteKit的怪癖以及如何使用编辑器。

使用编辑器

设计精灵

设计精灵就像导入您的图像并绘制它的轮廓一样简单。SKImport使用SpriteKit的[SKPhysicsBody bodyWithPolygonFromPath]。这强制限定只能将凹多边形(而不是凸多边形)作为身体。

Concave vs Convex

为了规避这个限制,您只需将身体分割成凹形状。SKImport在导入时自动将多个身体组合成一个SKPhysicsBody

Convex fix

编辑器的一个重要功能是将凸多边形分解为凹多边形。

快捷键

编辑器有一些快捷键可以简化路径编辑。

快捷键 描述
⌘ + P 向当前体添加一个点。
⌘ + B 创建一个新的体。
(Shift +) Tab 在点之间导航。
⌘ + [] 在体之间导航。
(Shift +) ←, →, ↓, ↑ 轻微调整点。

导出

遗憾的是,由于浏览器文件系统API的糟糕状态,SKImport编辑器不能在没有设置服务器并使用swf对象的情况下显示“另存为...'对话框。为了避免这个问题并使SKImport的编辑器能够独立运行,编辑器会打开一个新标签页,内容信任您使用CMD/Ctrl + S将内容保存到适当的位置。导出的文件将移动到锚点(0.5, 0.5),垂直翻转,并按当前缩放值缩放。

帮助

鸣谢

SKImport是由Adrian Cooney设计和实现的。许可协议如下MIT。