How To Make a Game Like Cut the Rope With SpriteKit |

In this tutorial, you’ll learn how to build a game like Cut the Rope with SpriteKit in Swift, complete with animations, sound effects and physics!

This is a companion discussion topic for the original entry at

Thanks for this article, the reason I don’t have subscribed ray lessons yet, it’s because the lack of more SpriteKit teaching/ideas.
Maybe now with Swiftui I jump on.
Note. Physics are broken on Xcode 11 running macOS Catalina. Collision map doesn’t fit the asset.

@wviper3 Can you please help with this when you get a chance? Thank you - much appreciated! :]

Glad to see that you guys are doing something with SpriteKit again!

There’s a bug—after you complete the level and it starts over, the next time you cut a vine it crashes. It turns out that the check for backgroundMusicPlayer == nil happens again after the first level—the static player is still in memory and so the setupAudio() method skips initialization of the rest of the sound effects. To fix this just make the backgroundMusicPlayer property non-static. (There’s no reason for it to be static anyway.) I’m also happy to see some Spritekit content again. This was a fun distraction!

@tommyg Glad you like it! Cheers! :]

@wviper3 Can you please help with this when you get a chance? Thank you - much appreciated! :]

Contact of prize with crocodile is not working - prize always falls through croc. A build/run on the Final project provided has same problem.

I’ve tried changing build target in case that somehow affects it - no difference. Checked my implementation to make sure it was done as specified - then even recopied from the tutorial over my implementation just in case - no change. Checked the bitmask settings, changed them to test, and even implemented the values as 0b binary just in case - no difference.

Wondering if maybe SceneKit has changed with WWDC20 / and or Xcode 11 possibly to where additional or different implementations of Physics / contact / bitmask methods need to be updated now? Newby to SceneKit, Swift so unsure.

Update - issue fixed:

I downloaded and used Simulator 12.4. Xcode -> Preferences -> Components, then download.
It appears the culprit is a combination of the Simulator and when the PhysicsBody’s shape is defined by texture.

The Simulator I used with the issues was Version 11.5 (921.9.1) / Xcode Version 11.5 (11E608c).

How do you get the 12.4 simulator to load when you run the app? I’ve downloaded iOS 12.4 simulator. Is that not the same thing? Please explain.

OP: the final product fails to detect collision. On run of the finished project the output window shows: “PhysicsBody: Could not create physics body.”