---
title: SKKeyframeSequence
framework: spritekit
role: symbol
role_heading: Class
path: spritekit/skkeyframesequence
---

# SKKeyframeSequence

An object that performs interpolation between values specified at different times (keyframes).

## Declaration

```swift
class SKKeyframeSequence
```

## Mentioned in

Using Keyframe Sequence to effect Custom Interpolation Animating Particle Properties Across Disparate Values

## Overview

Overview The primary use for an SKKeyframeSequence object is to animate properties on particles emitted by an SKEmitterNode object, but it can also be used for your general interpolation needs across a discrete set of inputs. When a keyframe sequence is used with an emitter node, particles determine their values by sampling the keyframe sequence. The sequence replaces the normal simulation performed by the emitter node.

## Topics

### First Steps

- [Using Keyframe Sequence to effect Custom Interpolation](spritekit/using-keyframe-sequence-to-effect-custom-interpolation.md)
- [init(keyframeValues:times:)](spritekit/skkeyframesequence/init(keyframevalues:times:).md)
- [init(capacity:)](spritekit/skkeyframesequence/init(capacity:).md)
- [init(coder:)](spritekit/skkeyframesequence/init(coder:).md)

### Sequence Building

- [addKeyframeValue(_:time:)](spritekit/skkeyframesequence/addkeyframevalue(_:time:).md)
- [removeKeyframe(at:)](spritekit/skkeyframesequence/removekeyframe(at:).md)
- [removeLastKeyframe()](spritekit/skkeyframesequence/removelastkeyframe().md)
- [setKeyframeTime(_:for:)](spritekit/skkeyframesequence/setkeyframetime(_:for:).md)
- [setKeyframeValue(_:for:)](spritekit/skkeyframesequence/setkeyframevalue(_:for:).md)
- [setKeyframeValue(_:time:for:)](spritekit/skkeyframesequence/setkeyframevalue(_:time:for:).md)

### Sequence Running

- [sample(atTime:)](spritekit/skkeyframesequence/sample(attime:).md)

### Sequence Information

- [count()](spritekit/skkeyframesequence/count().md)
- [getKeyframeTime(for:)](spritekit/skkeyframesequence/getkeyframetime(for:).md)
- [getKeyframeValue(for:)](spritekit/skkeyframesequence/getkeyframevalue(for:).md)

### Interpolation Modifiers

- [interpolationMode](spritekit/skkeyframesequence/interpolationmode.md)
- [repeatMode](spritekit/skkeyframesequence/repeatmode.md)

### Constants

- [SKInterpolationMode](spritekit/skinterpolationmode.md)
- [SKRepeatMode](spritekit/skrepeatmode.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Mathematical Tools

- [SKRange](spritekit/skrange.md)
- [SKRegion](spritekit/skregion.md)
