[iOS 7] Sprite Kit のパーティクルを使ってみた

2013.09.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

iOS7のSpriteKitには簡単にパーティクルを生成する機能があるようです。
少しだけさわってみました。

使い方

「New File」をクリックします。

ios7_spritekit_particle_01

「SpriteKit Particle File」を選択して、「Next」をクリックします。

ios7_spritekit_particle_02


パーティクルのテンプレートを選択して、「Next」をクリックしてファイルを生成します。
今回は、テンプレートは「Spark」を選択して、ファイル名を「Spark.sks」にして保存しました。

ios7_spritekit_particle_03


sksファイルを選択するとプレビューすることができます。
さらに、画面右側で細かいパラメーターを設定できます。

ios7_spritekit_particle_12


最後にコーディングします。今回は、タップしたところにパーティクルを発生させるようにします。

#import "CMMyScene.h"

@implementation CMMyScene

-(id)initWithSize:(CGSize)size {
    if (self = [super initWithSize:size]) {
        /* Setup your scene here */
        self.backgroundColor = [SKColor colorWithRed:0.15 green:0.15 blue:0.3 alpha:1.0];
    }
    return self;
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    CGPoint location = [[touches anyObject] locationInNode:self];
    [self spark:location];
}

- (void) spark:(CGPoint)location
{
    SKEmitterNode *emitter = [NSKeyedUnarchiver unarchiveObjectWithFile:
                              [[NSBundle mainBundle] pathForResource:@"Spark"
                                                              ofType:@"sks"]];
    emitter.position = location;
    emitter.targetNode = self.scene;
    [self addChild:emitter];
}

@end

動作確認

ios7_spritekit_particle_12

はい。動きました。

今回使用した「Spark」以外にもパーティクルのテンプレートがいくつか用意されています。
静止画ですが、以下に載せてみました。

Bokeh

ios7_spritekit_particle_05

Fire

ios7_spritekit_particle_06

Fireflies (蛍)

ios7_spritekit_particle_07

Magic

ios7_spritekit_particle_08

Rain

ios7_spritekit_particle_09

Smoke

ios7_spritekit_particle_10

Snow

ios7_spritekit_particle_11

ではでは。