PIOSpriteKit 0.1.2

PIOSpriteKit 0.1.2

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

Piotr Zbyszynski维护。



PIOSpriteKit 是 Apple 的 SpriteKit 的实用库。其目标是消除一些样板代码并添加一些有用的组件。

添加到项目中

只需将 PIOSpriteKit/Classes 目录中的文件添加到项目中。同时,您还需要将项目与 SpriteKit.framework 框架进行链接。

如果您使用 CocoaPods,只需在 Podfile 中包含以下行:

pod 'PIOSpriteKit'

包含的内容

PIOScrollSceneViewController

PIOScrollSceneViewController 允许您滚动和缩放场景。它由两个主要类组成:PIOScrollScenePIOScrollSceneViewController。设置非常简单

首先设置您的场景

  1. 确保您的场景继承自 PIOScrollViewScene

    @interface ExampleScrollScene : PIOScrollScene
  2. 使用您希望平移和缩放的 SKSpriteNode 初始化场景的 rootNode 属性。[PIOScrollScene rootNode] 是场景的主要节点。

    - (instancetype)initWithSize:(CGSize)size {
    
        if([super initWithSize:size] != nil) {
    
            self.rootNode.texture = [SKTexture textureWithImageNamed:@"sample_image.jpg"];
            self.rootNode.size    = self.rootNode.texture.size;
        }
    
        return self;
    }
  3. 重写让您指定最小、最大和初始缩放比例的 PIOScrollScene 属性(默认值为 1)

    - (CGFloat)minimumZoomScale {
    
        return 0.5;
    }
    
    - (CGFloat)maximumZoomScale {
    
        return 1.0;
    }
    
    - (CGFloat)initialZoomScale {
    
        return 0.5;
    }

设置视图控制器

  1. 确保您的视图控制器继承自 PIOScrollSceneViewController

    @interface ExampleScrollViewController : PIOScrollSceneViewController
  2. 使用 presentScene 方法呈现场景。

    - (void)viewWillLayoutSubviews {
    
        [super viewWillLayoutSubviews];
    
        if (self.sampleScene == nil) {
    
            //[PIOScrollSceneViewController spriteKitView] is an IBOutlet so you can hook it up to your SKView in the storyboard)
            self.sampleScene    = [[ExampleScrollScene alloc] initWithSize:self.spriteKitView.frame.size];
    
            [self presentScene:self.sampleScene];
        }
    }

PIOTiledNode

PIOTiledNode 允许您创建由几个瓦片组成的节点。

设置瓦片节点

  1. 确保您的节点继承自 PIOTiledNode

    @interface ExampleTiledNode : PIOTiledNode
  2. 重写让您指定节点组成的行的 PIOTiledNode 属性

    - (uint)rowsCount {
    
        return 1;
    }
    
    - (uint)columnsCount {
    
        return 2;
    }
  3. 重写 imageFileNameForRow:column 方法,该方法返回给定行和列的瓦片文件名

    - (NSString *)imageFileNameForRow:(NSUInteger)row column:(NSUInteger)column {
    
        return [NSString stringWithFormat:@"sample_image_%lu%lu.jpg", (unsigned long) row, (unsigned long) column];
    }

使用您的瓦片节点

  1. 调用 [PIOTiledNode load] 方法来加载您的瓦片节点

    SKSpriteNode *sampleNode;
    sampleNode  = [[[ExampleTiledNode alloc] init] load];
  2. 像其他任何节点一样使用它

您可以在 Examples 文件夹中找到可工作的示例应用程序。祝你享受!

许可证

PIOSpriteKit 采用 MIT 许可证

联系方式

@styko